CVE-2025-14311

N/A Unknown

📋 TL;DR

This path traversal vulnerability in JMRI allows attackers to access files outside the intended directory by manipulating file paths. It affects all JMRI users running versions before 5.13.3, potentially exposing sensitive system files.

💻 Affected Systems

Products:
  • JMRI (Java Model Railroad Interface)
Versions: All versions before 5.13.3
Operating Systems: All platforms running JMRI
Default Config Vulnerable: ⚠️ Yes
Notes: All JMRI installations with default configurations are vulnerable.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise through reading sensitive files like /etc/passwd, /etc/shadow, or application configuration files containing credentials.

🟠

Likely Case

Unauthorized reading of application configuration files, user data, or other sensitive information stored on the server.

🟢

If Mitigated

Limited impact if proper file system permissions restrict JMRI's access to sensitive directories.

🌐 Internet-Facing: HIGH - If JMRI is exposed to the internet, attackers can exploit this without authentication.
🏢 Internal Only: MEDIUM - Internal attackers or compromised systems could exploit this to escalate privileges or access sensitive data.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Path traversal vulnerabilities typically require minimal technical skill to exploit once the vulnerable endpoint is identified.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 5.13.3

Vendor Advisory: https://github.com/JMRI/JMRI/pull/14340

Restart Required: Yes

Instructions:

1. Download JMRI version 5.13.3 or later from official sources. 2. Stop the JMRI application. 3. Replace the existing installation with the new version. 4. Restart JMRI.

🔧 Temporary Workarounds

Restrict file system permissions

linux

Limit JMRI's file system access to only necessary directories using OS-level permissions.

chmod -R 750 /path/to/jmr/data
chown -R jmri:jmri /path/to/jmr/data

Network isolation

all

Place JMRI behind a firewall and restrict network access to trusted IPs only.

🧯 If You Can't Patch

  • Implement strict network access controls to limit JMRI exposure
  • Run JMRI with minimal file system permissions using a dedicated, restricted user account

🔍 How to Verify

Check if Vulnerable:

Check JMRI version via Help → About menu or by examining the application startup logs.

Check Version:

java -jar JMRI.jar --version (if supported) or check manifest files

Verify Fix Applied:

Confirm version is 5.13.3 or higher in Help → About menu.

📡 Detection & Monitoring

Log Indicators:

  • Unusual file access patterns in JMRI logs
  • Requests containing '../' sequences in file paths

Network Indicators:

  • HTTP requests with path traversal sequences (../, ..\) to JMRI endpoints

SIEM Query:

source="jmri.log" AND "../" OR "..\"

🔗 References

📤 Share & Export