Skip to content
eastbaycyber

CVE-2026-57898: Unauthenticated File Write in Eclipse BaSyx

CVE explainers 9 min read
SR
Security Research Desk Expert reviewed
Threat intelligence · Human-verified · Updated 2026-07-14
▲ Escalation ViewOne CVE, briefed at three altitudes — skim the Brief, weigh the Impact, or work the Runbook. The way a SOC actually reads it.
CISOBrief · 30-second brief

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
AnalystImpact · assess the risk

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.
ResponderRunbook · act now

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.

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.

Last verified: 2026-07-14

Disclaimer: This article may contain affiliate links. We earn a commission on qualifying purchases at no extra cost to you.