Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with valid OpenCATS login
-
ExploitOpen home or activity DataGrid endpoint
-
ExecutionInject SQL via period/startDate/endDate filter
-
ImpactExfiltrate sensitive database records
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
|
| Exploitation Conditions | Exploitation requires a valid, authenticated OpenCATS session (PR:L) with access to the home Calls DataGrid (home:CallsDataGrid) or activity DataGrid (activity:ActivityDataGrid) endpoints; the attacker must supply manipulated period, startDate, or endDate parameters in the DataGrid request payload, which are inserted into SQL date comparisons in modules/home/dataGrids.php and modules/activity/dataGrids.php without safe escaping. Limiting factors: authentication is mandatory and unauthenticated exploitation is not established, and exposure can be reduced (but not eliminated) by restricting the affected DataGrid views to trusted users; per the vendor, upgrading to v0.10.0 is the only complete fix. All versions prior to 0.10.0 (packagist opencats/opencats <= 0.9.7.4) are affected. |
| Impact | This is a genuine but moderate-priority issue, not an emergency. The vendor-confirmed signals are consistent: CVSS 3.1 7.6 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L) describes a network-reachable, low-complexity SQL injection that requires authentication (PR:L), and the GHSA advisory corroborates that a valid OpenCATS login is mandatory and unauthenticated exploitation is not established. The vuln.today decision label is 'this_week' rather than act_now/emergency, which aligns with the authenticated prerequisite. No EPSS score, no CISA KEV listing, and no public exploit code are present in the input - the only references are the GHSA advisory, the fix commit, and the v0.10.0 release tag, so there is no evidence of in-the-wild activity. One data discrepancy worth noting: NVD/input assigns CWE-20 (improper input validation), while the GHSA advisory assigns CWE-89 (SQL injection) and titles the issue explicitly as authenticated SQL injection - the GHSA classification is the more precise root cause and is confirmed by the code diff. Net: a real, confirmed vulnerability whose practical risk is bounded by the authentication requirement and the niche deployment footprint of OpenCATS, warranting prompt patching but not crisis handling. |
| Exploit ScenarioDerived | An attacker who already holds a valid OpenCATS account (for example a low-privilege recruiter login, or a compromised staff credential) opens the home Calls DataGrid or the activity DataGrid and submits crafted period, startDate, or endDate filter values that break out of the intended date comparison. Because these values are concatenated into the SQL date filter without escaping, the attacker rewrites the query to read data beyond their normal view - user accounts, candidate records, contacts, company data, job orders, and activity history. No public exploit code is identified at time of analysis, but the fix commit publicly reveals the exact vulnerable parameters and sink. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Authenticated SQL injection in OpenCATS prior to 0.10.0 lets any logged-in user who can reach the home Calls DataGrid (home:CallsDataGrid) or activity DataGrid (activity:ActivityDataGrid) rewrite the date-filter SQL and read data beyond their intended scope, including user accounts, candidate records, contacts, company records, job orders and activity history. The flaw sits in the request-controlled period, startDate and endDate parameters, which are concatenated into SQL date comparisons in modules/home/dataGrids.php and modules/activity/dataGrids.php without validation or escaping; a valid OpenCATS login is required and unauthenticated exploitation is not established. The confidentiality impact dominates (the data exposure is the practical harm), and no public exploit code was identified at time of analysis; the vendor-released patch is OpenCATS 0.10.0.
RemediationAI
Vendor-released patch: OpenCATS 0.10.0 (Packagist opencats/opencats 0.10.0) - upgrade all instances running 0.9.7.4 or earlier, applying the fix commit 814542d9c87770ab967e24e4be6d20a64255b337 as shipped in the v0.10.0 release (https://github.com/opencats/OpenCATS/releases/tag/v0.10.0), with details in advisory GHSA-cp24-hjrx-2pm5. Per the vendor there is no complete application-level workaround short of upgrading; the only stated temporary mitigation is to restrict access to the affected DataGrid views (home:CallsDataGrid and activity:ActivityDataGrid) to trusted users, which reduces exposure but does not remove the vulnerability for users who retain access, and it does not address the underlying missing validation and escaping.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
OpenCATS is a PHP applicant tracking system and recruitment CRM built on a MySQL backend, where list views are rendered by DataGrid classes that assemble SQL WHERE fragments from request payloads. In the affected classes the activity date filter was built by direct string concatenation: the period value was appended as a raw SQL expression (the intended values being constructs such as DATE_SUB(CURDATE(), INTERVAL 1 WEEK)), so an attacker could substitute an arbitrary expression, while startDate and endDate were wrapped in single quotes but not escaped, permitting quote-breaking injection into the comparison against activity.date_occurred. The advisory classifies this as improper input validation (CWE-20) manifesting as SQL injection (CWE-89). The upstream fix in commit 814542d9c87770ab967e24e4be6d20a64255b337 replaces the period passthrough with an array_search against a fixed whitelist of four interval expressions, adds a private isValidDate() helper that enforces a strict YYYY-MM-DD pattern via preg_match plus checkdate() before either date is used, and routes accepted dates through the database layer's makeQueryString() escaping rather than manual quoting. The vulnerable sink is the DataGrid constructor in both modules, meaning the injection point is reached whenever a user loads the affected grid with crafted filter parameters; the trigger flow beyond that parameter handling is not described in the available sources.
Know when Opencats gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L
Authenticated (PR:L) network SQL injection in SELECT-side date filters yields broad read access (C:H); no evidence of write/stacked-query capability, so I:N/A:N.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
OpenCATS is an open-source applicant tracking system and recruitment CRM for staffing agencies and hiring teams. Prior to version 0.10.0, activity DataGrid date filtering in home:CallsDataGrid and activity:ActivityDataGrid uses request-controlled period, startDate and endDate parameters without sufficient validation or escaping. The vulnerable code is in modules/home/dataGrids.php and modules/activity/dataGrids.php. The startDate and endDate values are inserted into SQL string comparisons without safe escaping, and period can directly influence generated SQL. An authenticated user with access to the affected DataGrid endpoints can alter the intended query to access sensitive database contents, including user account data, candidate records, contact details, company information, job orders and activity history. A valid OpenCATS login is required; unauthenticated exploitation is not established. This issue is fixed in version 0.10.0.
Executive ViewAI
OpenCATS, a widely used open-source applicant tracking system, contains a high-severity SQL injection flaw (CVE-2026-54455) that allows any authenticated user-from recruiter to hiring manager-to bypass role-based restrictions and read the entire candidate and client database. This impacts the confidentiality of sensitive personal data (candidates, contacts, job orders) and may constitute a reportable data breach under GDPR or similar regulations; leadership should treat it as a privacy and compliance risk.
Apply vendor patch (OpenCATS 0.10.0).
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Remote code execution in OpenCATS installer allows unauthenticated attackers to inject and execute arbitrary PHP code by
OpenCATS v0.9.6 was discovered to contain a remote code execution (RCE) vulnerability via the getDataGridPager's ajax fu
OpenCATS through 0.9.6 allows remote attackers to execute arbitrary code by uploading an executable file via lib/FileUti
OpenCATS through 0.9.5-3 unsafely deserializes index.php?m=activity requests, leading to remote code execution. Rated cr
OpenCATS 0.9.4 contains a remote code execution vulnerability that allows unauthenticated attackers to execute arbitrary
SQL injection in OpenCATS through 0.9.7.4 allows authenticated users to extract arbitrary database contents by injecting
lib/DocumentToText.php in OpenCats before 0.9.4-3 has XXE that allows remote users to read files on the underlying opera
OpenCATS v0.9.6 was discovered to contain a SQL injection vulnerability via the importID parameter in the Import viewerr
OpenCATS v0.9.6 was discovered to contain a SQL injection vulnerability via the tag_id variable in the Tag deletion func
OpenCATS v0.9.6 was discovered to contain a SQL injection vulnerability via the entriesPerPage variable. Rated medium se
OpenCATS v0.9.6 was discovered to contain a SQL injection vulnerability via the tag_id variable in the Tag update functi
Improper neutralization of input during web page generation allows an unauthenticated attacker to submit malicious Javas
EUVD-2026-112509
NVD
CVE.org
GitHub
Exploit-DB