CVE-2026-31960: 
NixOS vulnerability analysis and mitigation

Overview

CVE-2026-31960 is a Denial-of-Service vulnerability in Anchore Quill, a Go-based tool for macOS binary signing and notarization, caused by unbounded reads of HTTP response bodies during the Apple notarization process. It affects all versions of github.com/anchore/quill prior to v0.7.1. The vulnerability was published on March 10, 2026, and assigned a CVSS v3.1 base score of 5.3 (Medium) (Github Advisory). It was reported by opera-aklajn of Opera and patched by Anchore in the v0.7.1 release (Quill Release).

Technical details

The root cause is CWE-770 (Allocation of Resources Without Limits or Throttling): when processing HTTP responses from Apple's notarization API, Quill called io.ReadAll() on the response body without imposing any size limit, allowing the entire response to be buffered into memory (Github Advisory). Exploitation requires an adjacent-network attacker capable of intercepting and modifying HTTPS responses — possible in environments with TLS-intercepting proxies, compromised certificate authorities, or other trust boundary violations common in corporate networks. The fix introduced a ReadAllLimited utility function enforcing a 5 MB cap for API JSON responses and a 50 MB cap for log file responses, replacing the unbounded io.ReadAll calls in quill/notary/api_client.go (Patch Commit). Both the Quill CLI and the Go library are affected when performing notarization operations.

Impact

The impact is limited exclusively to availability — there is no effect on confidentiality or integrity (Github Advisory). A successful attack causes the Quill process to exhaust available memory and crash, disrupting any CI/CD pipeline or build workflow that relies on Quill for macOS binary notarization. Because the vulnerability only affects the notarization client process itself, there is no risk of lateral movement, data exfiltration, or privilege escalation.

Exploitability

No public proof-of-concept exploit code or in-the-wild exploitation has been reported for this vulnerability. The EPSS score is approximately 0.017% (4th percentile), indicating a very low probability of exploitation in the near term (Github Advisory). The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation is constrained by the requirement to be in an adjacent network position and able to intercept or modify TLS-protected HTTPS traffic, significantly limiting the attacker pool to those with access to corporate TLS-intercepting proxies or compromised certificate authorities.

Exploitation steps

  1. Identify target environment: Determine that the target organization uses Quill (versions < 0.7.1) in a CI/CD pipeline or build system for macOS binary notarization, and that the environment routes HTTPS traffic through a TLS-intercepting proxy or has a compromised CA.
  2. Position for interception: Gain access to the TLS-intercepting proxy or compromise a trusted CA certificate to enable man-in-the-middle interception of HTTPS traffic between the Quill client and Apple's notarization API (api.notary.apple.com).
  3. Intercept notarization API response: When Quill makes an HTTP GET or POST request to the Apple notarization API (e.g., submission status, submission logs), intercept the response at the proxy layer.
  4. Inject oversized payload: Replace the legitimate API response body with an arbitrarily large payload (e.g., gigabytes of data) before forwarding it to the Quill client.
  5. Trigger memory exhaustion: Quill's handleResponse function calls io.ReadAll() without a size limit, causing the process to allocate memory continuously until the system runs out of memory and the Quill process crashes, disrupting the notarization workflow (Github Advisory, Patch Commit).

Indicators of compromise

  • Process: Quill CLI or library process terminating unexpectedly with an out-of-memory (OOM) error during notarization operations.
  • Logs: System OOM killer logs (e.g., Linux dmesg or /var/log/syslog) showing the Quill process killed due to memory exhaustion; application logs showing unexpected crashes during Apple notarization API calls.
  • Network: Anomalously large HTTP response sizes observed in proxy logs for connections to Apple notarization API endpoints (api.notary.apple.com); unexpected TLS certificate chains or CA certificates not issued by Apple in traffic inspection logs.
  • System: Sudden spike in memory consumption by the Quill process visible in system monitoring tools (e.g., top, htop, Prometheus metrics) immediately before a crash.

Mitigation and workarounds

Upgrade Quill to version v0.7.1 or later, which enforces a 5 MB limit on API JSON responses and a 50 MB limit on log file responses using the new ReadAllLimited utility (Quill Release, Patch Commit). No official workarounds are available for unpatched versions (Github Advisory). As a defense-in-depth measure, organizations should audit TLS-intercepting proxy configurations to ensure they cannot be abused to inject malicious responses, and restrict notarization workflows to trusted network paths.

Community reactions

The vulnerability was credited to opera-aklajn of Opera, who responsibly disclosed it to Anchore (Github Advisory). Red Hat tracked the issue via Bugzilla (Bug 2446757) with medium severity, indicating awareness among enterprise Linux distributors that package or depend on Quill (Red Hat Bugzilla). No significant broader media coverage or notable public researcher commentary has been identified beyond the official advisory.

Additional resources


Source: This report was generated using AI

Related NixOS vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-116199CRITICAL9.2
  • NixOS logoNixOS
  • cpe:2.3:a:snipeitapp:snipe-it
NoYesOct 25, 2026
CVE-2026-116201HIGH8.7
  • NixOS logoNixOS
  • cpe:2.3:a:snipeitapp:snipe-it
NoYesOct 25, 2026
CVE-2026-116200HIGH8.2
  • NixOS logoNixOS
  • cpe:2.3:a:snipeitapp:snipe-it
NoYesOct 25, 2026
CVE-2026-2270MEDIUM5.9
  • NixOS logoNixOS
  • kubernetes
NoYesOct 26, 2026
CVE-2026-76654MEDIUM5.8
  • NixOS logoNixOS
  • cpe:2.3:a:kubernetes:kubernetes
NoYesOct 26, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Additional Wiz resources

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management