CVE-2026-25809

9.8 CRITICAL

📋 TL;DR

This vulnerability in PlaciPy version 1.0.0 allows attackers to execute code evaluation outside of intended assessment windows due to missing lifecycle state validation. Educational institutions using this placement management system are affected, potentially enabling unauthorized access to assessment functionality.

💻 Affected Systems

Products:
  • PlaciPy
Versions: 1.0.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: All installations of version 1.0.0 are vulnerable regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could manipulate assessment results, access sensitive student data, or execute arbitrary code by bypassing assessment timing controls.

🟠

Likely Case

Unauthorized users could submit or modify assessment evaluations outside permitted timeframes, compromising academic integrity.

🟢

If Mitigated

With proper validation, only authorized users during open assessment windows could execute evaluations.

🌐 Internet-Facing: HIGH - The code evaluation endpoint is typically exposed to users, making it accessible if the system is internet-facing.
🏢 Internal Only: MEDIUM - Even internal systems could be exploited by malicious insiders or compromised accounts.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires access to the code evaluation endpoint but doesn't need authentication bypass. The vulnerability is straightforward to exploit once identified.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check GitHub advisory for latest patched version

Vendor Advisory: https://github.com/Praskla-Technology/assessment-placipy/security/advisories/GHSA-cc32-rp29-w9x7

Restart Required: Yes

Instructions:

1. Visit the GitHub advisory URL
2. Check for available patches or updates
3. Update to the latest secure version
4. Restart the PlaciPy application

🔧 Temporary Workarounds

Implement API endpoint validation

all

Add server-side validation to check assessment lifecycle state before allowing code evaluation

# Modify the code evaluation endpoint to include: if not assessment.is_active(): return error

Temporary endpoint disablement

all

Disable the code evaluation endpoint until patched

# Comment out or remove the vulnerable endpoint route in your application

🧯 If You Can't Patch

  • Implement network-level access controls to restrict who can reach the code evaluation endpoint
  • Add additional authentication and authorization checks before processing evaluation requests

🔍 How to Verify

Check if Vulnerable:

Check if running PlaciPy version 1.0.0 and attempt to access code evaluation endpoint outside assessment windows

Check Version:

Check PlaciPy configuration files or application metadata for version information

Verify Fix Applied:

Test that code evaluation endpoint now validates assessment lifecycle state and rejects requests outside permitted times

📡 Detection & Monitoring

Log Indicators:

  • Code evaluation requests outside assessment time windows
  • Failed assessment state validation attempts
  • Unusual timing patterns in evaluation submissions

Network Indicators:

  • HTTP requests to code evaluation endpoint with timestamps outside assessment windows
  • Unusual request patterns to /api/evaluate or similar endpoints

SIEM Query:

source="placipy" AND (uri_path="/api/evaluate" OR uri_path="/evaluate") AND timestamp NOT BETWEEN assessment_start_time AND assessment_end_time

🔗 References

📤 Share & Export