CVE-2026-14759: Heap Buffer Overflow in radare2 Java Parser—Patching Guidance
A heap-based buffer overflow vulnerability exists in radare2, a popular reverse-engineering framework, affecting versions up to 6.1.6. The flaw is in the Java class file parser's line number table handler and can be triggered through a specially crafted Java binary. An attacker with local system access can exploit this to crash the application or potentially execute code. Public exploit code is available, elevating operational risk for users who process untrusted Java artifacts.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 3.3 LOW · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
- Weaknesses (CWE)
- CWE-119, CWE-122
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-07-05 / 2026-07-09
NVD description (verbatim)
A security flaw has been discovered in radareorg radare2 up to 6.1.6. This issue affects the function r_bin_java_inner_classes_attr_calc_size of the file shlr/java/class.c of the component RBinJava Line Number Table Parser. Performing a manipulation results in heap-based buffer overflow. The attack requires a local approach. The exploit has been released to the public and may be used for attacks. The patch is named cd62d15a6cbecdc67fd03f3ebdbbbeb741d18f87. To fix this issue, it is recommended to deploy a patch.
7 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-14759 is a heap buffer overflow in the r_bin_java_inner_classes_attr_calc_size function within shlr/java/class.c of radare2's RBinJava component. The vulnerability resides in the Java class file parser's handling of line number table attributes. It is triggered during the parsing phase when radare2 processes a maliciously crafted Java class file with oversized or malformed line number metadata. The resulting buffer overflow can corrupt adjacent heap memory. The CVSS v3.1 score of 3.3 (LOW) reflects the local-only attack vector and limited impact scope, though availability can be degraded.
Business impact
For security teams and developers using radare2 for malware analysis, reverse engineering, or threat intelligence on Java-based threats, this vulnerability introduces a denial-of-service risk when processing untrusted samples. If radare2 crashes during batch analysis of a suspected malware collection, it can disrupt analysis pipelines and delay incident response. The low CVSS does not reflect the workflow impact; organizations running automated Java decompilation or bytecode analysis at scale should treat this as a service continuity concern rather than a direct data-breach risk.
Affected systems
radare2 versions up to and including 6.1.6 are confirmed vulnerable. Any system where radare2 is installed and used to analyze Java binaries is at risk, particularly: malware analysis workstations, CI/CD pipelines performing automated binary inspection, reverse-engineering labs, and threat intelligence platforms. Users of radare2 on Linux, macOS, and Windows platforms are affected equally. The local-only requirement means the attacker must already have user-level access to the system or control file input to the radare2 process.
Exploitability
Exploitability is moderate to high in operational environments. The local-only attack vector means this is not an external network threat; however, public exploit code is available, lowering the barrier for opportunistic attackers. The attack requires no user interaction—simply opening a crafted Java file in radare2 triggers the flaw. In sandboxed malware analysis environments or open-analysis platforms where users upload samples for processing, this becomes a containment concern: a malicious sample could crash the analysis engine and potentially escape from a weakly isolated container. The low complexity (AC:L) means no special conditions are required beyond file format manipulation.
Remediation
Update radare2 to a version newer than 6.1.6 that includes the patch commit cd62d15a6cbecdc67fd03f3ebdbbbeb741d18f87. Verify the patch is applied by checking the commit history in your radare2 installation. Until patching is feasible, restrict radare2 to analyzing Java binaries from trusted sources only, or use an isolated VM/container for processing unknown Java samples. Consider temporarily disabling Java binary analysis in automated workflows if they cannot be updated promptly.
Patch guidance
The maintainers have released a fix identified by commit cd62d15a6cbecdc67fd03f3ebdbbbeb741d18f87. Users should pull the latest version from the radare2 repository or wait for the next official release that incorporates this commit. Verify the fix by confirming the commit is present in your build. If you maintain a local fork or distribution, cherry-pick this commit into your release branch. Test the patched version against your own Java analysis workflows before deploying to production analysis systems.
Detection guidance
On systems running radare2, monitor for unexpected crashes or segmentation faults when processing Java class files, particularly those with unusual line number table metadata. Enable logging in radare2 if available (r2's debug mode with -d flag) and capture crash dumps. On endpoint detection and response (EDR) systems, flag abnormal termination of radare2 processes with access to untrusted files, especially in batch or automated contexts. Network-based detection is not applicable given the local-only nature; focus on behavioral signals such as rapid repeated radare2 restarts or memory corruption signatures in process memory dumps.
Why prioritize this
Despite a LOW CVSS score, this vulnerability warrants prompt but not emergency prioritization. The public availability of working exploit code and the local+low-complexity attack surface create a window where an attacker inside your network or with sample-upload capabilities could disrupt your analysis infrastructure. Prioritize patching if: (1) you run automated Java malware analysis, (2) you allow untrusted users to submit samples, or (3) radare2 is critical to your threat intelligence pipeline. For organizations that rarely use radare2 or analyze Java only from verified sources, this can be handled in a regular maintenance cycle.
Risk score, explained
The CVSS 3.1 score of 3.3 (LOW) correctly reflects the constraints: local-only access requirement (AV:L), low attack complexity (AC:L), low privileges (PR:L), no user interaction (UI:N), and limited scope (S:U). Impact is availability only—no confidentiality or integrity breach. However, in environments where radare2 is a critical path tool, operational impact may be higher than CVSS suggests. The availability of public exploits and the ease of triggering the crash elevate practical risk even though the severity floor remains LOW. Supplement CVSS with your own risk model that accounts for tool criticality and sample exposure.
Frequently asked questions
Should we stop using radare2 until this is patched?
No, but you should prioritize updating. The vulnerability is local-only and requires either local system access or the ability to feed malicious Java files to radare2. Until you patch, limit analysis to Java binaries from trusted sources and avoid open-access sample submission services. If radare2 is critical to your ops, allocate patch testing and deployment resources in the next 1–2 weeks.
Can this vulnerability be exploited remotely if radare2 runs on a server?
Not directly. The attack vector is local, meaning the attacker must have an account or shell access on the system, or must control a file passed to radare2. If radare2 is exposed via a web service that accepts file uploads, then yes, remote attackers could indirectly exploit it by uploading a malicious Java file. Evaluate your architecture: if radare2 processes untrusted remote files, treat this as a higher-priority remote DoS risk.
Do I need to worry about data exfiltration from this bug?
The CVSS impact is availability only—the overflow does not grant confidentiality or integrity. An attacker triggering the crash cannot steal data or modify results. The primary risk is service disruption. That said, buffer overflows are inherently unpredictable; while this one appears limited to DoS, encourage security researchers to test the patch thoroughly before you assume code execution is impossible.
What if we only use radare2 offline on isolated machines?
Your risk is significantly lower. If radare2 only processes Java binaries that you control and is never exposed to external files or users, exploitation requires an attacker to already have local system access. In that case, a buffer overflow in a utility is a low priority compared to more direct local privilege escalation vectors. Still apply the patch in your next maintenance window for defense-in-depth.
This analysis is based on the CVE record published on 2026-07-05 and modified 2026-07-09. No exploit code, proof-of-concept, or weaponized tools are provided or endorsed. CVSS score and severity reflect NIST/NVD standards; your own risk tolerance and operational context may warrant different prioritization. Verify all patch versions and commit hashes against official radare2 sources before deployment. SEC.co does not guarantee the completeness or timeliness of this intelligence and recommends consulting the vendor's security advisory and the Common Vulnerability Scoring System documentation for authoritative guidance. Source: NVD (public-domain), retrieved 2026-08-14. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2025-15668LOWGPAC Heap Buffer Overflow in MP4Box sgpd_del_entry
- CVE-2026-13574LOWLLVM Heap Buffer Overflow in Bitcode Handler
- CVE-2026-13587LOWPcapPlusPlus 25.05 Heap Buffer Overflow in LightPcapNg Parser
- CVE-2025-15666MEDIUMAssimp Heap Buffer Overflow in Model File Handler
- CVE-2026-10194MEDIUMOFFIS DCMTK Heap Buffer Overflow in Query/Retrieve Service
- CVE-2026-10200MEDIUMAssimp 6.0.4 Heap Buffer Overflow in glTF Matrix Parser
- CVE-2026-10229MEDIUMAssimp Half-Life MDL Loader Heap Buffer Overflow
- CVE-2026-10230MEDIUMAssimp Half-Life MDL Loader Heap Buffer Overflow Vulnerability