CVE-2026-31961

Quill provides simple mac binary signing and notarization from any platform. Quill before version v0.7.1 contains an unbounded memory allocation vulnerability when parsing Mach-O binaries. Exploitation requires that Quill processes an attacker-supplied Mach-O binary, which is most likely in environments such as CI/CD pipelines, shared signing services, or any workflow where externally-submitted binaries are accepted for signing. When parsing a Mach-O binary, Quill reads several size and count fields from the LC_CODE_SIGNATURE load command and embedded code signing structures (SuperBlob, BlobIndex) and uses them to allocate memory buffers without validating that the values are reasonable or consistent with the actual file size. Affected fields include DataSize, DataOffset, and Size from the load command, Count from the SuperBlob header, and Length from individual blob headers. An attacker can craft a minimal (~4KB) malicious Mach-O binary with extremely large values in these fields, causing Quill to attempt to allocate excessive memory. This leads to memory exhaustion and denial of service, potentially crashing the host process. Both the Quill CLI and Go library are affected when used to parse untrusted Mach-O files. This vulnerability is fixed in 0.7.1.
Configurations

Configuration 1 (hide)

cpe:2.3:a:anchore:quill:*:*:*:*:*:*:*:*

History

16 Mar 2026, 19:06

Type Values Removed Values Added
First Time Anchore quill
Anchore
CPE cpe:2.3:a:anchore:quill:*:*:*:*:*:*:*:*
References () https://github.com/anchore/quill/security/advisories/GHSA-xj69-m9qq-8m94 - () https://github.com/anchore/quill/security/advisories/GHSA-xj69-m9qq-8m94 - Vendor Advisory
Summary
  • (es) Quill proporciona firma binaria de mac y notarización simples desde cualquier plataforma. Quill antes de la versión v0.7.1 contiene una vulnerabilidad de asignación de memoria ilimitada al analizar binarios Mach-O. La explotación requiere que Quill procese un binario Mach-O proporcionado por un atacante, lo cual es más probable en entornos como pipelines de CI/CD, servicios de firma compartidos o cualquier flujo de trabajo donde se acepten binarios enviados externamente para la firma. Al analizar un binario Mach-O, Quill lee varios campos de tamaño y recuento del comando de carga LC_CODE_SIGNATURE y estructuras de firma de código incrustadas (SuperBlob, BlobIndex) y los usa para asignar búferes de memoria sin validar que los valores sean razonables o consistentes con el tamaño real del archivo. Los campos afectados incluyen DataSize, DataOffset y Size del comando de carga, Count del encabezado SuperBlob y Length de los encabezados de blobs individuales. Un atacante puede crear un binario Mach-O malicioso mínimo (~4KB) con valores extremadamente grandes en estos campos, lo que hace que Quill intente asignar memoria excesiva. Esto lleva al agotamiento de la memoria y a la denegación de servicio, lo que podría bloquear el proceso anfitrión. Tanto la CLI de Quill como la biblioteca de Go se ven afectadas cuando se usan para analizar archivos Mach-O no confiables. Esta vulnerabilidad se corrige en 0.7.1.

11 Mar 2026, 20:16

Type Values Removed Values Added
New CVE

Information

Published : 2026-03-11 20:16

Updated : 2026-03-16 19:06


NVD link : CVE-2026-31961

Mitre link : CVE-2026-31961

CVE.ORG link : CVE-2026-31961


JSON object : View

Products Affected

anchore

  • quill
CWE
CWE-770

Allocation of Resources Without Limits or Throttling