Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify OpenCATS with Career Portal enabled
-
ExploitSubmit repeated candidateLogin POST requests
-
ExecutionBrute-force low-entropy candidate verification
-
ImpactAccess matched candidate profile data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Brute-force prevention, rate limiting
|
| Exploitation Conditions | Exploitation requires the OpenCATS Career Portal with candidate registration enabled - per the patch documentation this feature is DISABLED BY DEFAULT, so default internal installations are not exposed. The attacker POSTs to the public candidateLogin endpoint (index.php?m=careers&p=candidateLogin&ID=<jobOrderID> or careers/index.php) and repeatedly submits candidate verification data; the weakness is that OpenCATS enforces no application-level attempt counter, delay, or rate limiter (the maintainer confirms this is deliberately out of scope). Limiting factors that reduce realistic risk: the feature must be explicitly enabled and publicly exposed, each attempt must pass the CAPTCHA (reflected as AC:H / high attack complexity), the verification fields are low-entropy but still require a plausible match, and the maintainer recommends deploying nginx/mod_security/HAProxy/WAF rate limiting (~5-10 attempts/min/IP) at the proxy layer as the intended mitigation. |
| Impact | Signals are consistent and point to a genuine-but-modest issue rather than an urgent priority. The vendor-supplied CVSS 4.0 vector (AV:N/AC:H/AT:N/PR:N/UI:N/VC:L, base 6.3 Medium) describes a network-reachable, unauthenticated weakness with only LOW confidentiality impact and no integrity or availability impact - and critically AC:H, reflecting the CAPTCHA that must be solved on each attempt. The E:P exploit-maturity flag plus the published gist confirm publicly available exploit code exists, but there is no CISA KEV listing and no EPSS value was supplied, so there is no evidence of active or widespread exploitation. The SSVC framework was not provided. A notable conflict: the single CVSS confidentiality hit (VC:L) and CWE-307 (improper restriction of excessive authentication attempts / brute force) describe a rate-limiting weakness, yet the maintainer explicitly declined to treat application-level rate limiting as in-scope, arguing it belongs at the reverse-proxy/WAF layer - meaning the 'fix' changes the authentication model (server-side identity, mandatory CAPTCHA) rather than adding attempt counters. Net: real but low-to-moderate priority, blunted by AC:H, low impact, POC-only maturity, a default-disabled feature, and a small deployment footprint. |
| Exploit ScenarioDerived | An attacker locates an OpenCATS instance that has the optional Career Portal / candidate registration feature enabled and repeatedly POSTs to the candidateLogin endpoint, brute-forcing the low-entropy candidate verification fields (email, last name, postcode) because the application enforces no attempt throttling. Published exploit code exists (a public gist), but each attempt must still satisfy the CAPTCHA, which is why the vector is rated high-complexity (AC:H) and impact is limited to disclosure of a matched candidate's profile details. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 18, 2026
OpenCATS 0.10.0's Career Portal candidate login lacks application-level attempt counters, delays, or rate limiting, allowing remote unauthenticated attackers to repeatedly submit CAPTCHA-checked, low-entropy candidate verification data and potentially disclose candidate information when candidate registration is enabled and publicly reachable. Exploitation is high-complexity (CVSS 4.0 AC:H, PR:N; score 6.3) because each attempt must pass CAPTCHA, and the feature is disabled by default; publicly available exploit code exists, but active exploitation is not confirmed by the supplied KEV data. The issue is a genuine but modest risk rather than an urgent priority, with proxy-layer throttling intended as the practical mitigation.
RemediationAI
Apply the upstream fix in commit 1cf4fa3ee9054314b023be79d404078645c22ade (pull request https://github.com/opencats/OpenCATS/pull/906) and deploy a build containing that change; no exact tagged release version is provided in the available data. If the patch cannot be applied immediately, keep Career Portal candidate registration disabled, which is the default and removes exposure; otherwise restrict public access to the candidate-login endpoints to trusted networks and add proxy-layer rate limiting such as nginx limit_req_zone with approximately 5-10 attempts per minute per source IP and a small burst (for example rate=10r/m with burst=3 nodelay), or equivalent mod_security, HAProxy, or WAF rules. Ensure the rules cover both index.php?m=careers&p=candidateLogin&ID=<jobOrderID> and careers/index.php, including the POST p parameter, and configure trusted-proxy client IP handling; trade-offs are that throttling can affect users behind shared NAT addresses and does not stop distributed attacks, while disabling the portal removes candidate self-service. CAPTCHA should remain enabled but is not a substitute for throttling, and the upstream documentation is at https://github.com/opencats/OpenCATS/blob/master/docs/career-portal-authentication.md.
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-based applicant tracking system, and the affected Career Portal code lives in modules/careers/CareersUI.php. The reported manipulation point is the applyToJobSubAction argument handled by processLogin during candidate authentication; CWE-307 describes the root cause: the application does not restrict excessive authentication attempts, so repeated candidate-verification submissions are not counted, delayed, or rate-limited by OpenCATS itself. The candidate-login flow uses CAPTCHA and low-entropy verification details such as email, last name, and postcode, which raises attack complexity but does not eliminate repeated guessing when the portal is enabled. The upstream fix replaces the persistent client-side cats…cw cookie with a server-side careerPortalCandidateID session value, rotates the PHP session ID after login and logout, removes the remember-me behavior, and explicitly leaves throttling to nginx, mod_security, HAProxy, or WAF layers. The CPE cpe:2.3:a:n/a:opencats:*:*:*:*:*:*:*:* is a wildcard, consistent with a product-wide advisory rather than a version-specific CPE; the report names OpenCATS 0.10.0.
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
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P
Candidate login is the authentication being attacked so PR:N; CAPTCHA per attempt makes AC:H; only candidate profile disclosure, hence C:L and I/A:N.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A flaw has been found in OpenCATS 0.10.0. Affected is the function processLogin of the file modules/careers/CareersUI.php of the component Career Portal. This manipulation of the argument applyToJobSubAction causes improper restriction of excessive authentication attempts. Remote exploitation of the attack is possible. A high degree of complexity is needed for the attack. The exploitability is told to be difficult. The exploit has been published and may be used. Patch name: 1cf4fa3ee9054314b023be79d404078645c22ade. It is suggested to install a patch to address this issue. The project maintainer explains: "Candidates will now need to authenticate each time they access the Career Portal and successfully complete the CAPTCHA as part of that authentication flow. The authenticated candidate identity is now maintained server-side rather than relying on the previous persistent client-side cats…cw cookie mechanism. Application-level rate limiting is deliberately not in scope for this change. In my view, request throttling and brute-force protection of that kind are better applied at the network, reverse-proxy or web-server layer, where they can be configured appropriately for each deployment without OpenCATS having to implement and maintain its own rate-limiting framework. I'll update the online documentation to that effect."
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-103385
GHSA-4m5j-grw9-w64h
NVD
CVE.org
EPSS
VulDB
Exploit-DB