Skip to main content

OpenCATS EUVDEUVD-2026-104918

| CVE-2026-112786 MEDIUM
Missing Authorization (CWE-862)
2026-10-20 VulnCheck GHSA-p2pv-jqq4-q5gx
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as READ-level OpenCATS user
  2. Exploit
    Request import module revert action with importID
  3. Execution
    Reach unguarded ImportUI::handleRequest()
  4. Impact
    Mass-delete imported candidate/company/contact records

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated OpenCATS account with at least READ-level access (PR:L) and network reachability to the web interface; the attacker invokes the import module's revert/rollback action with a valid importID, which ImportUI::handleRequest() processes without verifying the user holds ACCESS_LEVEL_EDIT. Exploitation is limited by the need for valid (even if low-privilege) credentials, the pre-existence of prior data imports to roll back, and a vulnerable version before 0.10.0; no administrative rights, user interaction, or non-default configuration is needed, making it a straightforward privilege-abuse path for any low-trust account.

Impact

This is a genuine but moderate-severity authorization flaw, not a critical priority. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) confirms a network-reachable, low-complexity attack requiring low privileges (PR:L) - consistent with the description's 'low-privileged authenticated users' with READ-level access, so this is an insider/privilege-abuse issue rather than a remote-unauthenticated breach. Impact is constrained: VC:N (no confidentiality loss) with only VI:L/VA:L reflecting the ability to mass-delete imported candidate, company, and contact records (a bounded integrity/availability hit, not full system compromise), which is why the base score sits at 5.3 (medium). No EPSS score, KEV listing, or POC was provided in the intelligence set, so there is no signal of active or imminent exploitation; the fix is a single missing access-level check (CWE-862), which is trivial to understand from the public patch and could aid an attacker who already has an account. Net: real-world risk is driven by the trust model of a given OpenCATS deployment (how many low-trust READ users exist), not by mass internet exploitation - prioritize patching where untrusted or numerous low-privilege accounts exist, but it does not warrant emergency treatment absent exploitation evidence.

Exploit ScenarioDerived

A disgruntled or compromised low-privilege OpenCATS user holding only READ-level access directly requests the import module's revert action, supplying an importID, because ImportUI::handleRequest() never checks the caller's access level. The rollback executes and mass-deletes the candidate, company, and contact records tied to that import, causing data loss across the recruiting database. No public exploit code was identified at time of analysis, but the fix is a one-line authorization check visible in the vendor patch.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 20, 2026

Missing authorization in the import module of OpenCATS (all versions before 0.10.0) allows any authenticated user holding only READ-level access to invoke the import revert action and mass-delete previously imported candidate, company, and contact records. Exploitation requires valid low-privilege credentials, network access to the web interface, and the existence of a prior import whose importID can be supplied; no administrative rights or user interaction are needed. The vendor has released 0.10.0 with an access-level check in ImportUI::handleRequest(); no public exploit code was identified at time of analysis and the issue is not in CISA KEV.

RemediationAI

Upgrade to OpenCATS 0.10.0 or later, which enforces an ACCESS_LEVEL_EDIT requirement on the import module inside ImportUI::handleRequest(); the change is available as release v0.10.0 and commit aa3b414c3672f5010ca26c44192aa8e72d3735bd. Because the same commit also fixes related missing authorization checks in calendar, lists, contacts activity AJAX, and email settings endpoints, applying the full release rather than cherry-picking a single file is strongly preferable. If immediate upgrade is not possible, remove the import/revert capability from low-privilege roles so that only EDIT-level users can reach the import module, and add a web-server or reverse-proxy rule restricting requests to the import module's revert action (identified by importID) to trusted administrative source addresses - the trade-off is that legitimate low-privilege import workflows stop working and administrative access becomes location-bound. Operators should also review recent import and audit logs for unexpected rollback activity and restore affected candidate, company, and contact records from backups; note that restoring from backup may re-introduce other post-backup changes, so reconcile carefully.

Affected VersionsENISA

OpenCATS 0 <0.10.0

Affected Packages

euvd opencats fix: 0.10.0

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/MySQL applicant tracking system whose UI layer routes actions through per-module controller classes such as ImportUI. In vulnerable builds, ImportUI::handleRequest() dispatched the import module's revert/rollback action (identified by an importID parameter) without calling the framework's access-level helper, so the permission gate that normally distinguishes READ from EDIT was never consulted. This is CWE-862 (Missing Authorization): the functionality exists and the identity of the caller is known, but no check confirms the caller is entitled to perform the destructive operation. The upstream fix in commit aa3b414 adds a guard rejecting callers whose getUserAccessLevel('import.import') is below ACCESS_LEVEL_EDIT, and the same commit hardens adjacent surfaces (calendar event edit/delete ownership checks, lists AJAX endpoints, activity edit/delete AJAX, testEmailSettings) that shared the same pattern. Per CPE data (cpe:2.3:a:opencats:opencats:*), the entire release history prior to 0.10.0 is in scope.

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

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N
vuln.today AI 5.4 MEDIUM

Web-reachable action abusable by any authenticated READ-level user gives AV:N/AC:L/PR:L/UI:N; deletion of a subset of records yields I:L/A:L with no data disclosure (C:N).

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

OpenCATS before 0.10.0 contains a missing authorization vulnerability in ImportUI::handleRequest() that allows low-privileged authenticated users to roll back data imports. Attackers with READ-level access can request the import module's revert action with an importID to mass-delete imported candidate, company, and contact records.

Threat Intelligence Overview

EPSS Score
0.3%
Top 81% exploitable
Prevalence
Low
niche open-source applicant-tracking system, limited enterprise deployment
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2026-27760 CRITICAL POC
9.2 Apr 28

Remote code execution in OpenCATS installer allows unauthenticated attackers to inject and execute arbitrary PHP code by

CVE-2022-43019 CRITICAL POC
9.8 Oct 19

OpenCATS v0.9.6 was discovered to contain a remote code execution (RCE) vulnerability via the getDataGridPager's ajax fu

CVE-2021-41560 CRITICAL POC
9.8 Dec 15

OpenCATS through 0.9.6 allows remote attackers to execute arbitrary code by uploading an executable file via lib/FileUti

CVE-2021-25294 CRITICAL POC
9.8 Jan 18

OpenCATS through 0.9.5-3 unsafely deserializes index.php?m=activity requests, leading to remote code execution. Rated cr

CVE-2021-47936 CRITICAL POC
9.3 May 10

OpenCATS 0.9.4 contains a remote code execution vulnerability that allows unauthenticated attackers to execute arbitrary

CVE-2026-49489 HIGH POC
8.4 May 31

SQL injection in OpenCATS through 0.9.7.4 allows authenticated users to extract arbitrary database contents by injecting

CVE-2019-13358 HIGH POC
7.5 Jul 05

lib/DocumentToText.php in OpenCats before 0.9.4-3 has XXE that allows remote users to read files on the underlying opera

CVE-2022-43023 MEDIUM POC
6.5 Oct 19

OpenCATS v0.9.6 was discovered to contain a SQL injection vulnerability via the importID parameter in the Import viewerr

CVE-2022-43022 MEDIUM POC
6.5 Oct 19

OpenCATS v0.9.6 was discovered to contain a SQL injection vulnerability via the tag_id variable in the Tag deletion func

CVE-2022-43021 MEDIUM POC
6.5 Oct 19

OpenCATS v0.9.6 was discovered to contain a SQL injection vulnerability via the entriesPerPage variable. Rated medium se

CVE-2022-43020 MEDIUM POC
6.5 Oct 19

OpenCATS v0.9.6 was discovered to contain a SQL injection vulnerability via the tag_id variable in the Tag update functi

CVE-2023-27293 MEDIUM POC
6.1 Feb 28

Improper neutralization of input during web page generation allows an unauthenticated attacker to submit malicious Javas

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy