CVE-2026-31961 in quillinfo

Summary

by MITRE • 03/11/2026

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.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Analysis

by VulDB Data Team • 03/14/2026

The vulnerability identified as CVE-2026-31961 represents a critical memory allocation flaw in the Quill binary signing and notarization tool that affects versions prior to v0.7.1. This issue stems from insufficient validation of size and count parameters within Mach-O binary structures during the parsing process, creating a path for unbounded memory consumption that can lead to system instability and denial of service conditions. The vulnerability specifically targets the LC_CODE_SIGNATURE load command and associated code signing structures including SuperBlob and BlobIndex components that are fundamental to macOS binary verification processes.

The technical flaw manifests when Quill processes Mach-O binaries by reading several critical fields from code signing structures without implementing proper bounds checking or validation mechanisms. Key vulnerable fields include DataSize, DataOffset, and Size from the load command structure, Count from the SuperBlob header, and Length from individual blob headers within the code signing metadata. These fields are used directly to determine memory allocation sizes for buffer creation, creating an opportunity for attackers to craft malicious binaries that contain deliberately inflated values in these parameters. The attack vector requires that Quill processes attacker-controlled Mach-O binaries, making environments such as CI/CD pipelines, shared signing services, and any workflow accepting externally-submitted binaries particularly vulnerable to exploitation.

The operational impact of this vulnerability extends beyond simple denial of service to potentially compromise entire signing infrastructure and automated workflows. Attackers can create minimal (~4KB) malicious Mach-O binaries that trigger massive memory allocation requests, consuming system resources and causing the host process to crash or become unresponsive. This vulnerability affects both the Quill command-line interface and its Go library implementation, meaning that any application or service utilizing Quill for binary processing is at risk when handling untrusted input. The nature of the vulnerability makes it particularly dangerous in automated environments where binary processing occurs without human intervention, as the memory exhaustion can lead to cascading failures across dependent systems and services.

The vulnerability aligns with CWE-770, which addresses allocation of resources without limits or with inadequate limits, and demonstrates characteristics consistent with the ATT&CK technique T1499.004 for network denial of service. Organizations utilizing Quill in production environments should immediately implement mitigation strategies including upgrading to version 0.7.1 or later, implementing input validation for Mach-O binaries before processing, and establishing proper sandboxing mechanisms for binary analysis. Additionally, security teams should monitor for potential exploitation attempts in CI/CD environments where external contributions may bypass normal security controls, and consider implementing memory limits on processes that utilize Quill for binary signing operations. The fix in version 0.7.1 addresses the core validation issues by implementing proper bounds checking on all size and count parameters extracted from Mach-O code signing structures, preventing the exploitation of unbounded memory allocation patterns.

Responsible

GitHub M

Reservation

03/10/2026

Disclosure

03/11/2026

Moderation

accepted

CPE

ready

EPSS

0.00019

KEV

no

Activities

very low

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!