Safeguard
Vulnerability Analysis•

CVE-2025-8344: Medium Unrestricted Upload in Viglet Shio

CVE-2025-8344 is a medium unrestricted upload in Viglet Shio up to 0.3.8 (filename in ShStaticFileAPI). See who is affected and what to do now.

Safeguard Security Team
4 min read

CVE-2025-8344 is a medium severity unrestricted file upload flaw (CVSS 6.3) in Viglet Shio up to 0.3.8. The filename argument of the static file upload function does not limit what can be stored. No fixed version is confirmed in the sources reviewed, so check the project issue tracker and restrict access.

What's affected

Affected: openviglet Viglet Shio, versions up to 0.3.8, per the NVD record. The weak spot is shio-app/src/main/java/com/viglet/shio/api/staticfile/ShStaticFileAPI.java (function shStaticFileUpload), driven by the filename argument.

The record scores this 6.3 (Medium) with the vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L. The CNA description (VulDB) calls it "critical", which is VulDB's own rating wording and not the CVSS band. Both are stated here; this post uses the CVSS score.

Fixed versions: none confirmed. The sources I reviewed (the NVD record) do not name a patched release or a vendor advisory. Check the vendor or project site for a newer release before assuming a fix exists.

The record lists the weakness as CWE-284 and CWE-434 (unrestricted upload of a dangerous file type). Gold has the full entry for CVE-2025-8344.

Exploitation status: the record says the exploit details have been disclosed publicly and could be used. CVE-2025-8344 is not listed in the CISA Known Exploited Vulnerabilities catalog per the record, and none of the pages I read claims exploitation in the wild.

How to check if you're exposed

Shio is a Java project, so check the version your build uses.

# Maven
mvn dependency:tree | grep -i shio

# Gradle
gradle dependencies | grep -i shio

# a deployed jar
find / -name "shio*.jar" 2>/dev/null

Anything at 0.3.8 or earlier falls inside the range in the record. Then read the code around ShStaticFileAPI.java in your copy and see whether the file name value is checked before it is used. You can also paste a manifest into the free in-browser dependency scan to see what else is outdated.

What to do now

  1. Limit who can reach the Shio static file upload endpoint. Require authentication and a network allow list.
  2. Check the project issue tracker and releases for a version newer than 0.3.8 and read its notes before upgrading.
  3. If you maintain a fork, allow only the file types you need, set the stored name yourself, and store uploads outside any folder the server executes.
  4. Run the Shio process as a low privilege user and keep the upload folder non executable.
  5. Look through the upload folder for files you do not recognize, and review access logs for unexpected upload requests.

Why it matters

Unrestricted upload means the server accepts a file without enough checks on its name, type or destination. The record maps this to CWE-284 and CWE-434. What an uploaded file can do depends on where it lands and how the server treats it, which is why the mitigations focus on storage location and permissions.

The CVSS score is 6.3, and the vector shows it needs some privileges. That lowers the urgency compared with an unauthenticated flaw, but any account able to upload could be a way in, so treat upload endpoints as sensitive.

Try it yourself

Click through it at your own pace, or open it full screen.

Quick check

Is there a patched version of Viglet Shio?

None is confirmed in the sources reviewed. The NVD record lists up to 0.3.8 as affected, and no vendor advisory was found. Check the vendor site before relying on any fix.

Is CVE-2025-8344 being exploited in the wild?

The record does not mark it as a known exploited vulnerability, and no advisory I read says so. The record does say exploit details were disclosed publicly, so assume that attackers can reproduce it.

Sources

Last reviewed: 18 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.