Skip to main content

Squirrel CVE-2026-9541

| EUVDEUVD-2026-31813 LOW
Heap-based Buffer Overflow (CWE-122)
2026-05-26 VulDB GHSA-w3m6-w27h-v4g9
1.9
CVSS 4.0 · Vendor: VulDB

Severity by source

Vendor (VulDB) PRIMARY
1.9 LOW
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

Primary rating from Vendor (VulDB) · only source for this CVE.

CVSS VectorVendor: VulDB

CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

3
Analysis Generated
Jun 08, 2026 - 13:35 vuln.today
Severity Changed
May 26, 2026 - 14:22 NVD
MEDIUM LOW
CVSS changed
May 26, 2026 - 14:22 NVD
5.3 (MEDIUM) 1.9 (LOW)

DescriptionCVE.org

A security flaw has been discovered in Squirrel up to 3.2. Impacted is the function ReadObject of the file squirrel/sqobject.cpp of the component Cnut File Handler. Performing a manipulation results in heap-based buffer overflow. The attack is only possible with local access. The exploit has been released to the public and may be used for attacks. The project was informed of the problem early through an issue report but has not responded yet.

AnalysisAI

Heap-based buffer overflow in Squirrel versions 3.0 through 3.2 allows a locally authenticated low-privilege attacker to corrupt heap memory by supplying a malicious Cnut file to the ReadObject function in sqobject.cpp. The impact is limited to partial confidentiality, integrity, and availability effects with no scope change, as confirmed by the CVSS 4.0 score of 1.9. A public proof-of-concept exploit exists on GitHub, but this vulnerability has not been confirmed actively exploited by CISA KEV, and EPSS places exploitation probability at just 0.01% (2nd percentile), indicating very low real-world exploitation activity.

Technical ContextAI

Squirrel is a lightweight, embedded scripting language implemented in C++ and commonly integrated into games and applications. The vulnerable component is the ReadObject function within squirrel/sqobject.cpp, part of the Cnut File Handler subsystem responsible for deserializing compiled Squirrel bytecode files (.cnut). CWE-122 (Heap-based Buffer Overflow) identifies the root cause as improper bounds checking during object deserialization - a negative or crafted length value can cause the function to write beyond the boundaries of a heap-allocated buffer, corrupting adjacent memory. The CPE identifier cpe:2.3:a:n/a:squirrel:*:*:*:*:*:*:*:* indicates Squirrel is not formally registered under a recognized vendor in the NVD CPE dictionary, which may limit automated detection coverage in vulnerability management tooling.

RemediationAI

No vendor-released patch has been identified at time of analysis. The project was notified via GitHub issue (https://github.com/albertodemichelis/squirrel/issues/327) but has not responded. Organizations should actively monitor the upstream repository at https://github.com/albertodemichelis/squirrel for a fix release. As compensating controls, restrict local user permissions to prevent untrusted users from supplying arbitrary Cnut files to Squirrel-based applications - this directly addresses the required attack vector. Where feasible, disable or sandbox Cnut file ingestion from external or user-controlled sources; note this may break legitimate scripting workflows and should be tested in staging. Run applications embedding Squirrel in least-privilege OS contexts (e.g., dedicated service accounts, containers with restricted capabilities) to limit heap corruption impact. Input validation at the application layer on Cnut file headers and length fields can reduce exposure without requiring Squirrel engine changes.

Share

CVE-2026-9541 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy