Skip to main content

Robocode CVE-2025-14306

CRITICAL
Path Traversal (CWE-22)
2025-12-09 cve_disclosure@tech.gov.sg
10.0
CVSS 4.0 · Vendor: tech
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Deliver crafted robot/input to victim
  2. Exploit
    Malicious traversal path enters CacheCleaner
  3. Execution
    recursivelyDelete escapes cache base directory
  4. Impact
    Delete arbitrary user-accessible files

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that attacker-influenced data (a robot file/package or other input whose stored file path contains '../' traversal sequences) be present in or supplied to Robocode's cache, and that the victim then trigger the CacheCleaner / recursivelyDelete routine on Robocode version 1.9.3.6. Limiting factors that reduce realistic risk: this is a local desktop application rather than a network service, so the attacker must first get malicious content onto the victim's machine and the victim (or an automated cleanup) must run the vulnerable deletion path; damage is bounded to files writable by the Robocode process's user; and only the specific unpatched 1.9.3.6 build (pre-PR #67) is affected. No authentication model applies in the traditional sense - the constraint is local input control plus execution of the cache cleaner, not credentials.

Impact

The input assigns a CVSS 4.0 base score of 10.0 (AV:N/AC:L/PR:N/UI:N with full high impact to both vulnerable and subsequent systems), which overstates real-world risk and conflicts with the nature of the flaw. Robocode is a standalone desktop Java application (a robot-tank programming game); its CacheCleaner operates on a local cache directory, so a true network, zero-interaction attack path (AV:N/UI:N) is not supported by the description - exploitation realistically requires attacker-controlled input to reach the local cache-cleaning routine, implying local vector and some user action. The impact rating also appears inflated: the bug is arbitrary file DELETION (an integrity/availability problem), yet the vector claims VC:H/SC:H confidentiality impact that the description does not substantiate. No EPSS score, no CISA KEV listing, and no proof-of-concept are provided, so there is no public exploit identified at time of analysis; the supplemental metrics (AU:Y automatable, U:Red urgency) are vendor/scorer assertions, not evidence of exploitation. Given a niche educational/hobby product with negligible production footprint and no exploitation signals, this is better characterized as a high-CVSS-but-low-real-world-priority issue rather than an urgent threat. Key conflict to verify with vendor: CVSS indicates network/unauthenticated/no-interaction with confidentiality loss, but the description and source code imply local, input-driven arbitrary file deletion with no data disclosure.

Exploit ScenarioDerived

An attacker crafts input (e.g., a robot package or file whose stored path contains directory-traversal sequences) that the victim's Robocode installation processes during cache cleaning; when recursivelyDelete runs, the unsanitized path escapes the cache base directory and deletes files elsewhere on the filesystem that the Robocode process can write to. No public exploit code is identified at time of analysis, but the pre-patch recursivelyDelete method visibly lacks any canonical-path containment check. The practical impact is destruction of arbitrary user-accessible files rather than code execution or data theft.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 1.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 15, 2026

Arbitrary file deletion via directory traversal in the CacheCleaner component of Robocode 1.9.3.6: the recursivelyDelete routine in net.sf.robocode.cachecleaner.CacheCleaner does not confine deletions to the intended cache directory, so a crafted file path containing '../' sequences can cause the cleaner to delete files outside that directory. Exploitation is not a network attack in practice - an attacker must first get attacker-influenced content (for example a robot file or package whose stored path contains traversal sequences) onto the victim's machine, and the victim must then trigger the cache cleaner; damage is bounded to files writable by the Robocode process's user. No public exploit code has been identified at time of analysis and the flaw is not in CISA KEV, although an upstream fix is public via PR #67 and commit 26b6ba8ed5b2a11a646ce2d5da8d42cd53574b1f. Note the input's CVSS 4.0 score of 10.0 (AV:N/PR:N/UI:N with full subsequent-system impact) overstates real-world risk and conflicts with the assessed local, user-interaction-required vector (CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:H).

RemediationAI

Upgrade Robocode to a build that includes the fix from GitHub PR #67 (commit 26b6ba8ed5b2a11a646ce2d5da8d42cd53574b1f), which enforces a canonical-path base-directory check before any file is deleted; because the input data does not name an exact patched release tag, upstream fix availability should be described as PR/commit-based with the released patched version not independently confirmed. If upgrading immediately is not possible, the practical mitigations are: avoid invoking the CacheCleaner / cache-cleanup path (do not trigger cache cleaning and delete the cache manually with a trusted tool) - the trade-off is that stale robot cache entries accumulate and may cause inconsistent build or class-loading behavior; run Robocode under a dedicated low-privilege OS account whose filesystem write and delete permissions are limited to the Robocode work directories - the trade-off is that legitimate robot development workflows that write outside those directories will fail; and treat all third-party robot files, jars and packages as untrusted, blocking import or storage of paths containing '../' before they enter the Robocode cache - the trade-off is manual vetting effort and potential rejection of legitimate packages with unusual internal layouts. Also review any automation that schedules or programmatically triggers Robocode cache maintenance, since that automation can satisfy the 'victim triggers the cleanup' prerequisite without direct user action.

Affected Packages

maven net.sf.robocode:robocode.core fix: 1.9.5.6

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in maven

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Robocode is a Java-based programming game in which users write robot classes and battle them on a local desktop runtime; the affected code lives in the module robocode.core, class net.sf.robocode.cachecleaner.CacheCleaner, method recursivelyDelete(File). The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory, i.e. path traversal): the recursive deletion routine walked a File object supplied from cached robot/package data and deleted it without verifying that the resolved path stayed inside the intended cache root, so a path containing '../' segments resolved outside the sandbox and its target was removed. The upstream padch (GitHub PR #67, commit 26b6ba8ed5b2a11a646ce2d5da8d42cd53574b1f) changes the signature to recursivelyDelete(File file, File base), resolves both the candidate and the base with getCanonicalFile().toPath(), throws IOException('Security violation: Attempting to delete a file outside the allowed base directory') when the candidate does not start with the base prefix, and additionally null-checks the File[] returned by listFiles() before iterating. The CPE cpe:2.3:a:robocode:robocode:1.9.3.6:*:*:*:*:*:*:* pins the affected build to the single unpatched 1.9.3.6 release (pre-PR #67).

Know when Robocode gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (tech) PRIMARY 10.0 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/AU:Y/R:U/V:D/RE:M/U:Red
vuln.today AI 8.2 HIGH

Crafted input must be processed locally by the cache cleaner and the user must run it (AV:L/UI:R); impact is arbitrary file deletion beyond the app's cache, so C:N, I:H/A:H, and S:C for host-filesystem reach.

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

Primary rating from Vendor (tech).

CVSS VectorVendor: tech

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
High

DescriptionCVE.org

A directory traversal vulnerability exists in the CacheCleaner component of Robocode version 1.9.3.6. The recursivelyDelete method fails to properly sanitize file paths, allowing attackers to traverse directories and delete arbitrary files on the system. This vulnerability can be exploited by submitting specially crafted inputs that manipulate the file path, leading to potential unauthorized file deletions. https://robo-code.blogspot.com/

Executive ViewAI

Why It Matters

Robocode 1.9.3.6 contains a critical-severity arbitrary file deletion flaw in its CacheCleaner component that can delete files outside the intended cache directory when a user triggers cache cleaning after attacker-influenced content is present locally. The practical risk is limited because exploitation requires local content placement and user action, and damage is bounded to files writable by the Robocode process user, but successful abuse could disrupt developer workflows or destroy locally stored project data. Leadership should prioritize targeted mitigation and user awareness while monitoring for an official vendor patch.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations include avoiding untrusted robot files/packages, running Robocode with least privilege, backing up writable data, disabling or not triggering CacheCleaner where possible, and monitoring for unauthorized file deletions.

Threat Intelligence Overview

EPSS Score
1.1%
Top 36% exploitable
Prevalence
Rare
educational/hobby Java robot-battle game, negligible production deployment footprint
Data Quality
3 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 1.1%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Medium

Priority Score

51
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +50
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

Affected Products (CPE)CVE.org

cpe:2.3:a:robocode:robocode:1.9.3.6:*:*:*:*:*:*:*

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