# CVE-2026-31961: Anchore Quill unbounded memory allocation in Mach-O parsing

Source: https://junglewise.ai/threats/cve-2026-31961-anchore-quill-unbounded-memory-allocation-in-mach-o-parsing  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-03-11. Updated: 2026-05-10  
License: CC BY 4.0 with a link back

CVE-2026-31961 · Severity: medium · CVSS 5.5 · Published 2026-03-11

Anchore Quill, a tool used for signing and verifying macOS binaries, is vulnerable to a denial-of-service attack. An attacker can provide a specially crafted, small file that causes the software to attempt to allocate massive amounts of system memory. This can crash the signing service or CI/CD pipeline, disrupting software development and release workflows.

Technologies: [github.com/anchore/quill (Go)](https://junglewise.ai/threats/technologies/github-com-anchore-quill). Vendors: [Go](https://junglewise.ai/threats/vendors/go).

## Quick answers

**Is CVE-2026-31961 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-31961 being exploited in the wild.

**How severe is CVE-2026-31961?** Medium severity, with a CVSS score of 5.5, published 11 March 2026.

**Which products and versions are affected?** github.com/anchore/quill (Go) < 0.7.1, SEMVER:introduced=0,fixed=0.7.1.

**Is there a fix for CVE-2026-31961?** Yes. github.com/anchore/quill (Go): upgrade to 0.7.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-31961 attacked?** It is attacked with local access, in a software library.

**Am I affected by CVE-2026-31961?** Check whether you run github.com/anchore/quill (Go) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- github.com/anchore/quill (Go): upgrade to 0.7.1 or later

  ```sh
  go get github.com/anchore/quill@v0.7.1
  ```


## Technical details

Quill before version 0.7.1 contains an unbounded memory allocation vulnerability (CWE-770) within its Mach-O binary parsing logic. The root cause is a failure to validate size and count fields—specifically DataSize, DataOffset, and Size from the LC_CODE_SIGNATURE load command, as well as Count and Length fields in SuperBlob and BlobIndex structures. An attacker can craft a small (~4KB) Mach-O binary with extremely large values in these fields. When processed by the Quill CLI or Go library, the application attempts to allocate excessive memory buffers, leading to memory exhaustion and a crash of the host process. The vulnerability is fixed in version 0.7.1.

## Affected products

- anchore quill < 0.7.1

## Identifiers

- CVE-2026-31961
- GHSA-xj69-m9qq-8m94
- GO-2026-4675

## Timeline

- 2026-03-10: patched: Fixed in version 0.7.1
- 2026-03-11: advisory: GitHub Advisory published

## References

- [https://api.github.com/users/opera-aklajn](https://api.github.com/users/opera-aklajn)
- [https://github.com/opera-aklajn](https://github.com/opera-aklajn)
- [https://api.github.com/users/opera-aklajn/gists%7B/gist_id%7D](https://api.github.com/users/opera-aklajn/gists%7B/gist_id%7D)
- [https://api.github.com/users/opera-aklajn/repos](https://api.github.com/users/opera-aklajn/repos)
- [https://avatars.githubusercontent.com/u/225386233?v=4](https://avatars.githubusercontent.com/u/225386233?v=4)
- [https://api.github.com/users/opera-aklajn/events%7B/privacy%7D](https://api.github.com/users/opera-aklajn/events%7B/privacy%7D)

## Related threats

- [Anchore Quill denial of service via unbounded read in notarization](https://junglewise.ai/threats/cve-2026-31960-anchore-quill-denial-of-service-via-unbounded-read-in)
- [Anchore Quill SSRF in Apple notarization log retrieval](https://junglewise.ai/threats/cve-2026-31959-anchore-quill-ssrf-in-apple-notarization-log-retrieval)
