Skip to main content

OpenCATS EUVDEUVD-2026-104915

| CVE-2026-112783 MEDIUM
Missing Authorization (CWE-862)
2026-10-20 VulnCheck GHSA-2rp2-4gqx-g5jr
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 user
  2. Exploit
    Craft GET/POST with arbitrary activityID
  3. Execution
    Call editActivity.php or deleteActivity.php
  4. Impact
    Modify or delete candidate/contact/company history

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 session with at least READ-level access to the instance (PR:L); the attacker then supplies an arbitrary activityID via GET or POST to the vulnerable ajax/editActivity.php or ajax/deleteActivity.php endpoints. No user interaction, no administrative privilege, and no non-default configuration are needed - the endpoints shipped without any edit-level authorization check in versions before 0.10.0. The principal limiting factor is that valid low-privilege credentials are mandatory, so exploitation is restricted to insiders or attackers who have already obtained a READ-level account; impact is limited to editing/deleting activity and pipeline history and does not expose confidential data.

Impact

This is a moderate, authenticated-only data-integrity issue rather than a high-urgency priority. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) confirms network reachability and low complexity, but PR:L means the attacker must already hold a valid low-privilege (READ-level) account, and impact is confined to integrity (VI:L) with no confidentiality (VC:N) or availability (VA:N) effect and no scope change. No EPSS score, CISA KEV listing, or public POC was provided in the input, so there is no signal of active or probable exploitation - this reads as a low-real-risk issue despite the medium 5.3 score, meaningful primarily to organizations where low-trust users should not be able to tamper with recruiting records. The signals are internally consistent: a missing-authorization (CWE-862) flaw fixed by adding ACCESS_LEVEL_EDIT checks, matching the PR:L/integrity-only profile. One caveat to verify: deletion of activity and pipeline history could arguably carry an availability (data-loss) dimension that the vendor-supplied vector scored as integrity-only (VA:N) - defenders concerned with record loss should weigh that.

Exploit ScenarioDerived

A low-privileged (READ-level) OpenCATS user, or an attacker who has obtained any such account, sends a crafted GET or POST request to ajax/editActivity.php or ajax/deleteActivity.php supplying an arbitrary activityID. Because the endpoints lacked an edit-level authorization check, the request modifies or deletes activity and pipeline history for candidates, contacts, or companies they should only be able to view. No public exploit identified at time of analysis, though the fixing commit (aa3b414c) is public and makes the missing check trivially understood.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% 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 checks in the OpenCATS ajax/deleteActivity.php and ajax/editActivity.php endpoints allow any authenticated user holding READ-level access to edit or delete activity and pipeline history for candidates, contacts and companies by supplying an arbitrary activityID through GET or POST. Only versions before 0.10.0 are affected, and exploitation requires valid low-privilege credentials, so the practical exposure is limited to insiders or attackers who already hold an account. This is an integrity-only issue: no confidential data is disclosed and no denial of service is demonstrated; no public exploit code or confirmed active exploitation (CISA KEV) has been identified at time of analysis.

RemediationAI

Upgrade OpenCATS to 0.10.0 or later, which is the vendor-released patch containing the authorization checks added in commit https://github.com/opencats/OpenCATS/commit/aa3b414c3672f5010ca26c44192aa8e72d3735bd; review the release notes at https://github.com/opencats/OpenCATS/releases/tag/v0.10.0 and the VulnCheck advisory at https://www.vulncheck.com/advisories/opencats-before-0.10.0-missing-authorization-via-activity-ajax-endpoints before deploying. If upgrading immediately is not possible, reduce exposure by auditing and trimming READ-level accounts so only trusted staff hold sessions, since valid low-privilege credentials are the sole prerequisite - the trade-off is administrative overhead and reduced recruiter self-service. A web-server or reverse-proxy rule blocking POST/GET to /ajax/deleteActivity.php and /ajax/editActivity.php for non-editor users will stop the attack but breaks legitimate activity editing and deletion in the UI, so it should be treated as a temporary stopgap. After patching, review activity and pipeline history logs for unexplained deletions or edits that could indicate prior abuse of these endpoints.

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-based open-source applicant tracking system (CATS) that stores recruiting pipelines, candidate records and activity history in a backend database and exposes many operations through AJAX endpoint scripts under the ajax/ and modules/*/ajax/ directories. The root cause is CWE-862 (Missing Authorization): the deleteActivity.php and editActivity.php handlers processed the client-supplied activityID without ever calling the session-based access-level API ($_SESSION['CATS']->getAccessLevel(...)) to confirm the caller had edit rights, so any session at READ level could reach the write paths. The upstream fix (commit aa3b414c, released as v0.10.0) adds explicit checks requiring ACCESS_LEVEL_EDIT for contacts.deleteActivity and contacts.editActivity, and the same commit hardens related handlers - testEmailSettings.php (ACCESS_LEVEL_SA), calendar event edit/delete ownership checks in CalendarUI.php plus a new Calendar::get() lookup, ImportUI.php, and the lists AJAX endpoints (addToLists, deleteList, editListName, newList). This indicates a broader pattern of missing per-action authorization in the application's AJAX layer, with the activity endpoints being the specific instance tracked by this CVE.

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:N/SC:N/SI:N/SA:N
vuln.today AI 4.3 MEDIUM

Network-reachable AJAX endpoints with low complexity, but a valid READ-level account is required so PR:L; impact is unauthorized modification/deletion of records (I:L) with no confidentiality or availability loss.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/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
None
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 ajax/deleteActivity.php and ajax/editActivity.php that allows READ-level users to edit and delete activity entries. Authenticated attackers can supply an arbitrary activityID via GET or POST to modify or delete activity and pipeline history for candidates, contacts and companies.

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
Prevalence
Low
niche open-source applicant tracking system, limited enterprise footprint
Data Quality
5 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.2%
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· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

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