Safeguard
Vulnerability Analysis•

CVE-2025-12305: Medium Deserialization Flaw in shiyi-blog

CVE-2025-12305 is a medium severity deserialization flaw in shiyi-blog up to 1.2.1. No fixed version is confirmed, so limit access to job features.

Safeguard Security Team
3 min read

CVE-2025-12305 is a Medium severity (CVSS 6.3) deserialization flaw in quequnlong shiyi-blog, up to and including 1.2.1. The Job Handler in SysJobController.java is affected. No fixed version is confirmed, so restrict access to job features and check the project for a newer release.

What's affected

The record names shiyi-blog up to 1.2.1, a Java blog system. The affected code is in src/main/java/com/mojian/controller/SysJobController.java, part of the Job Handler component. The record says the attack can be run remotely and that the exploit has been made public.

Weakness classes: CWE-20 (Improper Input Validation), CWE-502 (Deserialization of Untrusted Data).

The vector says the attacker needs a low-privilege account, which is why the score is medium. No fixed version is named in the record, so check the project repository or release page for anything newer than 1.2.1.

How to check if you're exposed

  1. Find out whether shiyi-blog is deployed anywhere. Search your repositories and build files for the project name or the package com.mojian.
  2. For each deployment, check the version. The record covers every release up to 1.2.1.
  3. Check whether the scheduled job management feature is reachable, and who holds accounts that can use it.
  4. Review application logs for job creation or change events you do not recognize.

If you build the app from source, run a dependency scan over its build file as well. Safeguard has a free in-browser dependency scan at gold.safeguard.sh/scan, which helps you see the other libraries the app pulls in.

What to do now

  1. Check the project for a release newer than 1.2.1 and upgrade after testing, if one exists.
  2. Limit access to the admin area and the job management feature to a small set of trusted accounts and a trusted network.
  3. Turn on multi-factor authentication where the app or your reverse proxy supports it.
  4. Use a serialization filter or an allowlist of accepted classes where the code reads serialized data.
  5. If no fix exists, consider replacing the app or removing the job feature.

Why it matters

Deserialization of untrusted data turns bytes sent by a user back into objects inside the application. If the program does not control which object types it accepts, the data can steer behavior the developer never planned. In Java, this class of bug has a long record of serious results, which is why filters and allowlists are standard advice.

The record also lists improper input validation as a related weakness. The public report is titled as a remote code execution issue, but the score is medium because of the privileges required. The CVE is not in the CISA KEV catalog and the record does not report exploitation in the wild.

Quick check

Why is this only medium if it can run code?

The score vector requires an account with high privileges, which lowers the rating. Still treat admin accounts for this app as high value.

Sources

References listed in the NVD record (third-party reports and the vendor home page; no vendor advisory with a fixed version was confirmed):

Last reviewed: 19 October 2026.

Never miss an update

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

We email you a link to confirm, and only then add you to the list. Unsubscribe in one click. Privacy

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.