CVE-2025-29456
Executive Summary
CVE-2025-29456 is an information disclosure vulnerability in the Personal Management System (PMS) version 1.4.65. The flaw resides in the “create Notes” function, allowing a remote attacker to obtain sensitive information without authentication. The vulnerability is classified under CWE-200 (Exposure of Sensitive Information). No public exploit code or patch is currently available, and the CVSS score is listed as 0.0 due to incomplete NVD data. The EPSS score is 0.0%, indicating low exploitation likelihood at this time, but the lack of a patch makes this a latent risk for any deployment of PMS 1.4.65.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This application is a PHP-based personal management system. It is not distributed via NPM, PyPI, Go, or Ruby registries. The primary supply chain risk is from direct source code downloads (e.g., GitHub) or third-party package mirrors. Users should verify the integrity of their PMS installation and monitor for any unofficial patches or forks.
CVSS Breakdown & Threat Level
The NVD has not assigned a CVSS vector or score for this CVE. Based on the description (remote attacker, sensitive information via create Notes function), a reasonable estimated vector would be:
- Attack Vector (AV): Network (N) – remote exploitation.
- Attack Complexity (AC): Low (L) – likely no special conditions.
- Privileges Required (PR): None (N) – no authentication needed.
- User Interaction (UI): None (N) – no user action required.
- Scope (S): Unchanged (U) – vulnerability does not cross trust boundaries.
- Confidentiality (C): High (H) – sensitive data exposed.
- Integrity (I): None (N) – no data modification.
- Availability (A): None (N) – no denial of service.
Estimated CVSS:3.1 Score: 7.5 (High)
Threat Level: High – due to the potential for sensitive data leakage without authentication.
Deep Dive & Mechanics
The vulnerability is triggered through the “create Notes” functionality. The exact mechanism is not publicly documented, but based on the CWE-200 classification, it likely involves:
- Unvalidated Input: The
create Notesendpoint may accept user-supplied data that is reflected in server responses or stored in a way that exposes internal data. - Information Leakage: The function may return verbose error messages, debug output, or internal system paths when processing malformed requests.
- Direct Object Reference: The function might allow an attacker to enumerate or access notes belonging to other users by manipulating parameters (e.g., note ID).
The attack is remote and requires no authentication, making it accessible to any network-level attacker.
Vulnerable vs. Patched Code
Since no patch is available, a direct code comparison cannot be made. However, based on the vulnerability type, the following hypothetical vulnerable and patched code snippets illustrate the issue:
Vulnerable Code (PHP):
// Vulnerable: returns raw error message with sensitive info
function createNote($data) {
$note = new Note();
if (!$note->save($data)) {
// Exposes database error details
return json_encode(["error" => $note->getError()]);
}
return json_encode(["success" => true]);
}
Patched Code (Hypothetical):
// Patched: sanitizes error output
function createNote($data) {
$note = new Note();
if (!$note->save($data)) {
// Generic error message, no sensitive info
return json_encode(["error" => "Failed to create note."]);
}
return json_encode(["success" => true]);
}
Exploitation & Lab Setup
Red Team
Objective: Extract sensitive information from the PMS instance.
Prerequisites:
- Target running Personal Management System 1.4.65.
- Network access to the web interface.
Exploitation Steps:
- Identify the
create Notesendpoint (e.g.,/api/notes/createor/notes/create). - Send a crafted request with invalid or unexpected data (e.g., SQL injection attempt, long string, special characters).
- Observe the response for error messages containing database credentials, file paths, or other sensitive data.
Example Request (cURL):
curl -X POST http://target.com/api/notes/create \
-H "Content-Type: application/json" \
-d '{"title":"test","content":"' OR '1'='1"}'
Expected Response (if vulnerable):
{
"error": "SQLSTATE[42000]: Syntax error: ... near '' OR '1'='1' at line 1. File: /var/www/html/classes/Note.php"
}
Blue Team
Detection:
- Monitor for anomalous POST requests to note creation endpoints.
- Look for error responses containing database or file system paths.
- Alert on repeated failed note creation attempts.
Hunting:
- Search logs for patterns like
SQLSTATE,PDOException, orWarning:. - Review web server error logs for stack traces.
Mitigation (Temporary):
- Disable the
create Notesfunction if not essential. - Implement a Web Application Firewall (WAF) rule to block suspicious input.
- Restrict access to the PMS interface via VPN or IP whitelisting.
Indicators of Compromise (IOCs)
- Network:
- POST requests to
/api/notes/createor/notes/createwith unusual payloads. - HTTP responses containing database error messages (e.g.,
SQLSTATE,PDOException).
- POST requests to
- File System:
- Unexpected error log entries in
/var/log/apache2/error.logor similar.
- Unexpected error log entries in
- Application:
- Presence of debug mode enabled in configuration files.
Detection Engineering
YARA Rule
rule CVE_2025_29456_PMS_InfoDisclosure {
meta:
description = "Detects attempts to exploit CVE-2025-29456 in Personal Management System"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-29456"
strings:
$s1 = "createNote" ascii nocase
$s2 = "SQLSTATE" ascii
$s3 = "PDOException" ascii
$s4 = "Warning:" ascii
condition:
any of ($s1) and any of ($s2, $s3, $s4)
}
Sigma Rule
title: CVE-2025-29456 - PMS Information Disclosure via Create Notes
id: 8a4b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects HTTP responses containing database error messages from PMS note creation endpoint
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'POST'
cs-uri-stem:
- '/api/notes/create'
- '/notes/create'
sc-status: 200
response_body|contains:
- 'SQLSTATE'
- 'PDOException'
- 'Warning:'
condition: selection
falsepositives:
- Legitimate debugging activities
level: high
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (
msg:"CVE-2025-29456 - PMS Information Disclosure Attempt";
flow:to_server,established;
content:"POST"; http_method;
content:"/api/notes/create"; http_uri;
content:"SQLSTATE"; http_server_body;
sid:1000001;
rev:1;
reference:cve,2025-29456;
classtype:attempted-recon;
priority:1;
)
Remediation & Mitigation
Immediate Actions:
- Disable the
create Notesfunction if not critical to operations. - Apply input validation to the note creation endpoint (sanitize all user input).
- Disable debug mode in the application configuration.
- Implement a WAF to block requests containing SQL keywords or error-triggering patterns.
Long-Term Fix:
- Monitor the official PMS repository for a security patch.
- Consider migrating to a maintained fork or alternative application.
- Conduct a full security audit of the PMS codebase.
Valters IT Signature This report was generated by Valters IT Cyber Threat Intelligence Division. For questions, contact threatintel@valters-it.com.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.