CVE-2026-57898: Unauthenticated File Write in Eclipse BaSyx
TL;DR - Critical flaw in Eclipse BaSyx Java Server SDK with the MongoDB backend. - Unauthenticated attackers may write files to server-accessible paths via the AAS thumbnail API. - Upgrade to 2.0.0-milestone-13 immediately; no confirmed in-the-wild exploitation is cited in current sources.
Vulnerability at a Glance
| Field | Value |
|---|---|
| CVE ID | CVE-2026-57898 |
| CVSS | 9.0 (Critical) |
| Attack vector | Remote via AAS thumbnail API |
| Privileges required | None / unauthenticated |
| Patch available | Yes |
| Fixed version | 2.0.0-milestone-13 |
| Affected versions | 2.0.0-milestone-05 through 2.0.0-milestone-12 |
| Affected condition | Deployments using the MongoDB backend |
CVE-2026-57898 is a critical file-write issue in the Eclipse BaSyx Java Server SDK. The vulnerability exists in deployments that use the MongoDB backend and expose the AAS thumbnail API. An attacker can provide a crafted fileName value during thumbnail upload and later trigger behavior that writes attacker-controlled bytes to a filesystem path chosen by the attacker.
This matters because arbitrary file write often becomes more than a data integrity issue. If the Java process can write into application directories, startup paths, web roots, script locations, or configuration directories, the flaw may enable remote code execution. Even where direct execution is not possible, arbitrary file write can still be used to overwrite configuration, plant persistence artifacts, or disrupt service.
What Is This Vulnerability?
The root cause is unsafe handling of a user-controlled fileName parameter in the AAS thumbnail workflow. According to the NVD description, the application accepted this parameter on upload and reused it later in file handling. In MongoDB-backed deployments, the filename was handled as an opaque GridFS key rather than being normalized and constrained as a local filesystem path.
That distinction is what turns a normal file-repository operation into a security issue. During thumbnail retrieval, the same attacker-supplied value could be interpreted as a path on the local server, causing uploaded content to be written to that path. If the value is an absolute path or uses traversal-style elements, the resulting write can land outside the intended storage location.
In practical terms, an attacker does not need credentials if the vulnerable endpoint is reachable. They can upload thumbnail content with a crafted fileName, then trigger retrieval logic so the server writes those bytes to disk. The NVD explicitly states this can permit writing files anywhere the Java process has permission to write and may lead to remote code execution.
Technical Notes
A simplified example of the abuse pattern described by NVD is:
1. Send thumbnail upload with fileName=/tmp/payload.bin
2. Application stores content in MongoDB/GridFS using that value as a key
3. Trigger thumbnail retrieval
4. Retrieval path writes stored bytes to /tmp/payload.bin on the server
Examples of high-risk filename values defenders should watch for include:
/etc/cron.d/basyx-job
../../../../tmp/evil.sh
/opt/app/config/override.yml
C:\Temp\payload.txt
Who Is Affected?
The affected product is Eclipse BaSyx Java Server SDK. The affected version range is explicitly stated as 2.0.0-milestone-05 through 2.0.0-milestone-12. The issue is fixed in 2.0.0-milestone-13.
The vulnerable condition is also specific: the deployment must be using the MongoDB backend. That matters operationally because not every BaSyx deployment is exposed to this exact path. The NVD description specifically notes that the default InMemory backend is not affected by this specific behavior, because it normalizes and restricts file paths to its temporary directory.
If you run BaSyx but do not know which backend is configured, you should assume exposure until you verify otherwise. For defenders, uncertainty around backend selection is not a reason to defer action. The issue is unauthenticated, remotely reachable in exposed deployments, and severe enough to justify immediate version and configuration review.
Technical Notes
Check deployment manifests, application properties, or environment variables for signs of MongoDB-backed storage. For example:
grep -Rin "mongo\|mongodb\|gridfs" /etc /opt /srv 2>/dev/null
In containerized environments:
kubectl get deploy,statefulset -A -o yaml | grep -Ein "mongo|mongodb|gridfs|basyx"
CVSS Score Breakdown
The published CVSS base score is 9.0, which places this issue in the Critical range. The NVD data provided here includes the score but does not include the vector string. Because the vector is not available in the source material, it should not be reconstructed or guessed.
Even without the vector string, the technical description explains why the score is so high. The vulnerability is remote, requires no authentication, and allows arbitrary file write on the server. Those characteristics usually indicate high impact because they can affect integrity directly and often create a path to broader system compromise.
From a risk-management perspective, the most important score component is not the decimal value but the combination of reachability and post-exploitation potential. An internet-exposed service with unauthenticated file write is a high-priority remediation item even if active exploitation is not yet confirmed. Arbitrary file write often becomes environment-specific RCE based on writable paths, startup hooks, deployment layouts, or local scripting behavior.
Because the vector is unavailable in the source data, defenders should avoid overstating precision. In reports and tickets, use the confirmed facts: CVSS 9.0, Critical, unauthenticated, remote, arbitrary file write, possible RCE, and MongoDB-backed deployments only.
Exploitation Status
Based on the currently available primary-source information in the research note, there is no confirmed evidence of active exploitation in the wild. The CVE is not listed in CISA’s Known Exploited Vulnerabilities catalog as of the stated lookup. That means there is no KEV-based confirmation of observed exploitation.
There is also no verified public proof of concept identified in the provided source set. That does not mean exploitation is difficult, only that a verified public PoC was not established from the materials cited. In the absence of a known PoC, defenders should still assume a capable attacker can reproduce the behavior from the vulnerability description because the flaw is conceptually straightforward: attacker-controlled path input leads to arbitrary file write.
The practical message is to avoid false reassurance. No KEV listing and no verified PoC do not reduce the underlying technical risk. If your BaSyx deployment is exposed and uses the MongoDB backend, treat this as a patch-now issue due to the unauthenticated nature of the bug and the possibility of remote code execution depending on filesystem permissions and application layout.
Technical Notes
What is known:
- PoC public: Unknown from the cited sources; no verified public PoC identified
- Active exploitation: Not confirmed in the cited sources
- CISA KEV: No
What defenders should assume in the absence of data:
Assume opportunistic testing will follow disclosure because the bug is remote,
unauthenticated, and the affected version range is clearly defined.
How to Detect It
Detection should focus on two linked behaviors: suspicious thumbnail API activity and unexpected file creation by the BaSyx application account. Because the vulnerability involves a crafted fileName parameter, requests containing absolute paths, traversal sequences, Windows drive-letter patterns, or unusual path separators are especially important.
Review HTTP access logs, reverse proxy logs, API gateway telemetry, and application logs for thumbnail upload and retrieval activity. The exact endpoint paths may vary by deployment, so defenders should search broadly for requests referencing thumbnails, AAS resources, and fileName parameters. Pair that with host-based telemetry for file creation events in directories the service account should not normally touch.
If you lack detailed application logging, start with process-centric file monitoring. Any Java process running BaSyx that suddenly writes into cron directories, application startup locations, shell-script directories, temp paths with executable content, or configuration directories deserves immediate review.
Technical Notes
Example log patterns to search for:
fileName=.*(\./|%2e%2e%2f|/etc/|/tmp/|[A-Za-z]:\\)
thumbnail
Example grep against HTTP logs:
grep -E 'thumbnail|fileName=' /var/log/nginx/access.log /var/log/httpd/* 2>/dev/null |
grep -E '(\./|%2e%2e|/etc/|/tmp/|[A-Za-z]:\\)'
Example Splunk-style query:
index=web (thumbnail OR "fileName=")
| regex _raw="(\./|%2e%2e|/etc/|/tmp/|[A-Za-z]:\\)"
| stats count by src_ip, uri, user_agent
Example Sigma-like hunting logic concept:
title: Suspicious BaSyx Thumbnail Filename Patterns
logsource:
category: webserver
detection:
selection1:
request|contains: "thumbnail"
selection2:
request|contains:
- "fileName=../"
- "fileName=%2e%2e%2f"
- "fileName=/etc/"
- "fileName=/tmp/"
- "fileName=C:\"
condition: selection1 and selection2
level: high
Host-level file monitoring example on Linux:
find /tmp /var/tmp /etc /opt /srv -type f -mmin -1440 -ls 2>/dev/null
Mitigation and Patching
The primary remediation is to upgrade Eclipse BaSyx Java Server SDK to 2.0.0-milestone-13 or later. The vulnerable versions are explicitly 2.0.0-milestone-05 through 2.0.0-milestone-12, and the fixed version is explicitly 2.0.0-milestone-13.
If immediate upgrade is not possible, reduce exposure around the AAS thumbnail API and the MongoDB-backed deployment path. Restrict public access to BaSyx endpoints with a reverse proxy, VPN, IP allowlist, or internal-only network policy. If business requirements permit, disable or block thumbnail upload and retrieval routes until the patch is applied. Also review the Java process account and remove unnecessary write permissions from sensitive directories to reduce the odds that file write becomes code execution.
A useful compensating control is to isolate writable directories. If the service account can write only to a controlled data directory and not to startup scripts, config paths, web roots, or scheduler directories, the blast radius is reduced. That is not a fix, but it can materially lower exploit impact while you execute the upgrade.
Technical Notes
Upgrade action depends on how you deploy BaSyx. If you build from source or consume project artifacts, move to 2.0.0-milestone-13 in your dependency or image reference.
Maven example:
<dependency>
<groupId>org.eclipse.digitaltwin.basyx</groupId>
<artifactId>basyx-java-server-sdk</artifactId>
<version>2.0.0-milestone-13</version>
</dependency>
Container image update workflow example:
kubectl set image deployment/basyx-server basyx-server=<your-registry>/<your-image>:2.0.0-milestone-13
kubectl rollout status deployment/basyx-server
Temporary reverse-proxy blocking example for suspicious thumbnail requests in NGINX:
location / {
if ($args ~* "fileName=(\./|%2e%2e|/etc/|/tmp/|[A-Za-z]:\\)") {
return 403;
}
}
Network exposure reduction example:
ufw deny from any to any port 8080 proto tcp
ufw allow from 10.0.0.0/8 to any port 8080 proto tcp
Post-patch validation checklist:
# confirm running version in deployment manifests or build files
grep -Rin "2.0.0-milestone-13" /opt /srv /etc 2>/dev/null
# review recent suspicious files created by the service account
find / -user basyx -type f -mtime -7 2>/dev/null
References
The authoritative public references in the provided research set are the NVD record and Eclipse project resources. The NVD entry contains the core vulnerability description, affected versions, backend-specific condition, and the statement that the issue is fixed in milestone 13. Eclipse project pages help verify repository and release context.
Because some fields remain unknown, practitioners should cite only what is directly supported. In particular, the CVSS score is known, but the vector string was not present in the source data provided. Likewise, no verified public PoC or confirmed in-the-wild exploitation was established from the cited sources.
- NVD CVE entry: https://nvd.nist.gov/vuln/detail/CVE-2026-57898
- Eclipse security work item: https://gitlab.eclipse.org/security/cve-assignment/-/work_items/159
- Eclipse BaSyx GitHub organization: https://github.com/eclipse-basyx
- Eclipse BaSyx Java Server SDK repository: https://github.com/eclipse-basyx/basyx-java-server-sdk
- Eclipse BaSyx Java Server SDK releases: https://github.com/eclipse-basyx/basyx-java-server-sdk/releases
For incident response, defenders should preserve web logs, reverse-proxy logs, process execution telemetry, and file creation records around thumbnail API activity. If suspicious writes are found, treat the host as potentially compromised and scope for follow-on persistence or execution paths.
This article may contain affiliate links. We earn a commission on qualifying purchases at no extra cost to you.