Arbitrary File Write in Apple CFNetwork
CVE-2026-20660 is a path-handling flaw in Apple CFNetwork. Apple describes the issue as a path handling issue addressed with improved logic, with the stated impact that a remote user may be able to write arbitrary files. The vulnerability affects CFNetwork as shipped in Apple platforms including macOS Sonoma, macOS Sequoia, macOS Tahoe, iOS, iPadOS, visionOS, and Safari builds that include the vulnerable component. Based on the vendor description, the flaw involves improper handling or validation of file paths during CFNetwork processing, enabling attacker-controlled path influence that can result in unintended file writes.
Are you exposed to this one?
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
Impact, mitigation & remediation
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
Impact
What an attacker gets, and what they’ve been doing with it.
Mitigation
If you can’t patch tonight, do this now.
Remediation
Patch, then assume compromise.
Exploits
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.
This repository is a small standalone Python proof-of-concept bundle for CVE-2026-20660, described as a CFNetwork NSGZipDecoder path traversal issue affecting vulnerable macOS Safari when 'Open safe files after downloading' is enabled. The repo contains two executable Python servers and a README. The main file, server.py, implements an HTTP server that serves a landing page at '/' and a crafted gzip payload at '/download'. Its core capability is generating a valid gzip stream with an attacker-controlled FNAME field in the gzip header via make_gzip_with_fname(). The exploit intentionally keeps the HTTP Content-Disposition filename benign ('report.gz') while embedding traversal sequences like '../' repeated by a configurable depth, or a user-supplied absolute path, in the gzip FNAME. The served payload is a text proof file showing timestamp and chosen FNAME, demonstrating arbitrary file write outside the intended download directory if the target browser auto-opens the archive. The second file, server_overwrite.py, is a narrower variant that imports the gzip builder from server.py and hardcodes a shell script payload plus FNAME '../../pwn.sh', attempting to place a script in the victim user's home directory. Structurally, the repository is simple: README.md documents prerequisites, usage, validation, and observed behavior; server.py is the primary PoC with configurable bind address, port, traversal depth, and target filename; server_overwrite.py is a specialized overwrite demonstration. This is a real exploit PoC rather than a scanner or detection script, but it remains at proof-of-concept maturity because it demonstrates file write with basic hardcoded content rather than a generalized post-exploitation framework.
Affected products & vendors
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
Recent activity
13 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A path handling vulnerability in macOS Sequoia that could allow a remote user to write arbitrary files.
CFNetwork issue allowing a remote user to write arbitrary files.
Arbitrary file write due to path handling flaw; fixed with improved logic.
The version that knows your environment.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.