Skip to main content

ANTLR4 Maven Plugin CVE-2026-13502

| EUVDEUVD-2026-40000 LOW
Time-of-check Time-of-use (TOCTOU) Race Condition (CWE-367)
2026-06-28 VulDB GHSA-h73j-vjhq-j9vg
1.1
CVSS 4.0 · Vendor: VulDB

Severity by source

Vendor (VulDB) PRIMARY
1.1 LOW
CVSS:4.0/AV:L/AC:H/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
vuln.today AI
4.5 MEDIUM

Local-only race condition requiring low privileges and high complexity; limited impact across all three dimensions with no scope change.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
4.0 AV:L/AC:H/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Local
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

2
Analysis Generated
Jun 28, 2026 - 15:31 vuln.today
CVSS changed
Jun 28, 2026 - 15:22 NVD
2.0 (LOW) 1.1 (LOW)

DescriptionCVE.org

A flaw has been found in antlr ANTLR4 up to 4.13.2. This affects the function ObjectInputStream.readObject of the file antlr4-maven-plugin/src/main/java/org/antlr/mojo/antlr4/GrammarDependencies.java of the component Maven Plugin. This manipulation causes time-of-check time-of-use. The attack is restricted to local execution. A high degree of complexity is needed for the attack. It is indicated that the exploitability is difficult. The exploit has been published and may be used. The vendor was contacted early about this disclosure but did not respond in any way.

AnalysisAI

Time-of-check time-of-use (TOCTOU) race condition in antlr4-maven-plugin up to version 4.13.2 allows a local low-privileged attacker to manipulate grammar dependency state between validation and consumption in ObjectInputStream.readObject() within GrammarDependencies.java, yielding limited confidentiality, integrity, and availability impact on build artifacts. No public exploit identified at time of analysis is incorrect here - a publicly available exploit exists via a GitHub issue, though KEV listing is absent, indicating no confirmed widespread active exploitation. The CVSS 4.0 score of 1.1 reflects genuine low real-world risk due to local-only access, high attack complexity, and constrained impact scope.

Technical ContextAI

ANTLR4 (Another Tool for Language Recognition, version 4) is a Java-based parser generator widely used in compiler and language tooling projects. The affected component is the antlr4-maven-plugin (CPE: cpe:2.3:a:antlr:antlr4:*:*:*:*:*:*:*:*), which automates grammar compilation during Maven builds. The vulnerable code path is in GrammarDependencies.java, which calls ObjectInputStream.readObject() to deserialize cached grammar dependency data from disk. CWE-367 (Time-Of-Check Time-Of-Use) describes the root cause: the plugin reads a file handle or path reference, validates or checks a property of the object (e.g., file integrity, class type), and then proceeds to use the data - but a race window between check and use allows a concurrent local process to swap or modify the underlying file. Java's ObjectInputStream.readObject() is historically sensitive to the deserialization of unexpected class graphs; in this TOCTOU context, the attacker exploits the gap rather than a pure gadget-chain deserialization flaw. The plugin runs at build time, not production runtime, which significantly constrains the attack surface.

RemediationAI

No vendor-released patch has been identified at time of analysis - the vendor did not respond to coordinated disclosure. Teams using antlr4-maven-plugin should consider pinning to the latest 4.13.2 release and monitoring the upstream ANTLR4 GitHub repository for any subsequent releases that address this issue. As a compensating control, restrict write access to the Maven local repository cache and build working directories so that only the build service account can write to these paths, reducing the feasibility of file substitution during the TOCTOU window. Running Maven builds in isolated, ephemeral containers (e.g., Docker build stages with read-only bind mounts for dependency caches) eliminates the local attacker's ability to race the file operation, though this introduces build infrastructure overhead. Disabling grammar dependency caching in the plugin, if the configuration supports it, would eliminate the ObjectInputStream.readObject() code path entirely, but this may significantly increase incremental build times. Reference the POC at https://github.com/wooyun123/wooyun/issues/7 to understand the race window and validate whether mitigations are effective in your specific build environment.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

Share

CVE-2026-13502 vulnerability details – vuln.today

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