Safeguard
Vulnerability Analysis•

CVE-2026-25810: Broken Object Authorization in PlaciPy Submissions

CVE-2026-25810 lets any signed in PlaciPy 1.0.0 user reach other users' submission records because ownership is not checked (CVSS 9.1). Check the advisory.

Safeguard Security Team
3 min read

CVE-2026-25810 is a broken object level authorization flaw in PlaciPy 1.0.0, rated 9.1. The student submission routes verify that a user is logged in but do not check that the record belongs to them. The record names no fixed version, so consult the advisory.

What's affected

  • Product: PlaciPy, a placement management system for educational institutions.
  • Affected: version 1.0.0.
  • Fixed version: none is stated in the record. Check the GitHub advisory and the project's repository for a patched release.
  • Weakness: the student submission routes check authentication but not ownership.

How to check if you're exposed

PlaciPy is deployed from source, so look at the version in your checkout and at how your deployment is exposed:

git -C /path/to/assessment-placipy describe --tags
grep '"version"' /path/to/assessment-placipy/package.json

If you run 1.0.0, treat the instance as affected. Also check whether it is reachable from the internet and what student data it holds.

What to do now

  1. Read the GitHub advisory and apply the fix or patch it describes, if one has been published.
  2. Do not expose the application to the internet until you have confirmed a fix, or put it behind a VPN or an authenticating proxy.
  3. Add an ownership check on every route that takes a submission identifier, if you maintain a fork.
  4. Use unguessable identifiers as a second layer, never as the only protection.
  5. Review access logs for requests you cannot explain, and tell the people responsible for student data if you find any.
  6. Plan for fixes in all the related PlaciPy advisories, since several were reported together.

Why it matters

The record lists CWE-862, missing authorization. Login proves who you are. It does not prove that a record is yours. Each route that takes an identifier needs to compare it to the caller. Without that comparison, changing the identifier in a request returns someone else's data.

The project is small and the record gives no fixed version, so the practical step is to reduce exposure while you wait. Placement systems hold personal data about students, which raises the stakes of any access control gap. The record does not mark this CVE as exploited in the wild.

Quick check

What is BOLA?

Broken object level authorization: the server checks that you are logged in but not that the object you asked for is yours.

Sources

Last reviewed: 19 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.