Skip to main content

Arkon EUVDEUVD-2026-103008

| CVE-2026-111716 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-16 VulnCheck GHSA-r63c-wh5x-45mr
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 low-privileged employee
  2. Exploit
    Enumerate foreign source IDs
  3. Execution
    Invoke by-id routes skipping can_access_document
  4. Impact
    Disclose wiki titles/summaries and alter ingestion state

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Exploitation requires a valid authenticated employee account on an Arkon instance (through 0.9.2) and knowledge or enumeration of another department's source IDs; the attacker then calls the by-id source routes (plan, progress, PATCH, retry, approve-extraction) in app/routers/sources.py, which omit the can_access_document authorization check. Meaningful impact depends on a multi-department/multi-tenant deployment where cross-department data isolation is expected. Limiting factors: valid low-privileged credentials are mandatory (PR:L, so not remote-unauthenticated), no user interaction is needed, disclosure is confined to derived wiki titles/summaries and ingestion-state fields rather than raw source content, and there is no availability impact.

Impact

This is a moderate, authorization-layer (IDOR) flaw, not a top-tier priority. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) confirms network reach and low attack complexity but requires existing low-privileged authentication (PR:L), and impact is limited to low confidentiality and low integrity (VC:L/VI:L) with no availability impact (VA:N) and no scope/subsequent-system change - consistent with the 5.3 (Medium) base score. No EPSS score was supplied and the CVE is not listed in CISA KEV, so there is no signal of widespread or active exploitation. A detailed public technical writeup exists (hackmd) describing the cross-department IDOR, which lowers the effort to reproduce, but this is distinct from confirmed exploitation. The practical risk is bounded by two factors the raw score does not fully convey: the attacker must already be an authenticated employee, and the exposed data is limited to derived wiki titles/summaries and ingestion-state fields rather than full source content. Net assessment: a legitimate but not urgent issue - meaningful in multi-tenant/multi-department Arkon deployments where tenant isolation matters, low priority elsewhere.

Exploit ScenarioDerived

A low-privileged but authenticated employee in one department enumerates or guesses source IDs belonging to another department and calls the vulnerable by-id routes (plan, progress, PATCH, retry, approve-extraction) in app/routers/sources.py, which never invoke can_access_document. They thereby read derived wiki titles and summaries from foreign sources and modify ingestion state. A public technical writeup detailing this IDOR is available, lowering the barrier to reproduction, though no packaged exploit code is confirmed; the attack is network-reachable with low complexity but needs valid credentials.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 16, 2026

Arkon deployments through version 0.9.2 allow authenticated, low-privileged employees to read and tamper with other departments' source ingestion records because the by-id routes in app/routers/sources.py (plan, progress, PATCH, retry, approve-extraction) omit the can_access_document authorization check. An attacker with a valid account only needs to know or enumerate a foreign source ID to disclose derived wiki titles and summaries and to change ingestion state; raw source content is not exposed and there is no availability impact. Per the independent assessment this is a moderate authorization-layer (IDOR) flaw requiring PR:L credentials, with no public exploit identified at time of analysis and no CISA KEV listing.

RemediationAI

No vendor-released patch identified at time of analysis: the available references point to the vulnerable v0.9.2 source in the nduckmink/arkon repository rather than to a fixed release, so the primary fix is to apply the missing can_access_document check (the same guard already used elsewhere in app/routers/sources.py) to every by-id route - plan, progress, PATCH, retry and approve-extraction - before dependency resolution, and to validate that the requesting user's department matches the source's owning department; treat this as an upstream-code fix if you build from source, and track the vendor repository and the VulnCheck advisory (https://www.vulncheck.com/advisories/arkon-through-0.9.2-broken-access-control-via-sources-by-id-routes) for a patched tag. Until a fixed version ships, compensating controls with their trade-offs are: enforce department scoping at a reverse proxy or API gateway by mapping authenticated identities to allowed source-ID prefixes (effective only if IDs are predictable or namespaced, and it breaks if IDs are opaque or reassigned); restrict Arkon access to a single trusted network segment or VPN so only one department's users can reach the instance (removes the multi-tenant exposure entirely but negates shared deployments); or run separate Arkon instances per department (strong isolation at the cost of duplicated infrastructure and no cross-department views). If source identifiers are guessable, consider replacing them with cryptographically random UUIDs as a hardening measure, but note that this is obscurity-by-identifier only and does not substitute for the missing authorization check - the IDOR remains reachable by an attacker who learns a valid ID. Log and alert on by-id source requests where the requested source's department differs from the caller's department, as a detection control while remediation is pending.

Affected VersionsENISA

arkon 0 ≤0.9.2

Affected Packages

euvd arkon no fix

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

The flaw is CWE-639, Authorization Bypass Through User-Controlled Key - a classic IDOR pattern in which an object identifier supplied by the client (the source ID) is used to fetch or mutate a record without verifying that the caller owns or may access that object. Arkon is a Python web application whose routes are defined in app/routers/sources.py; several by-id endpoints (plan, progress, PATCH, retry, approve-extraction) fail to invoke the can_access_document helper that guards the rest of the source API, so the department/tenant boundary is never enforced on those paths. Because the identifiers appear to be simple sequential or guessable values rather than unguessable tokens, a low-privileged employee in one department can target any source belonging to another department within the same instance. The disclosed data is limited to derived artifacts - wiki titles and summaries produced from ingestion - plus read/write access to ingestion state fields; the CVSS:4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N) confirms a network-reachable, low-complexity, authenticated attack with low confidentiality and integrity impact and no scope change, matching the independently assessed CVSS:3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N. The CPE cpe:2.3:a:nduckmink:arkon:* uses a wildcard version, so all releases up to and including 0.9.2 should be treated as affected until a fixed version is published; the referenced source lines (L257-L275, L295-L312, L644-L673) document the unguarded routes in the v0.9.2 tag.

Know when Arkon 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:L/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.4 MEDIUM

Network-reachable API with low complexity but requires an authenticated employee account (PR:L); low confidentiality and integrity from reading/altering foreign source metadata, no availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/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
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Arkon through 0.9.2 contains a broken access control vulnerability that allows authenticated employees to read and modify other departments' sources because by-id routes in app/routers/sources.py skip can_access_document. Attackers can call the plan, progress, PATCH, retry and approve-extraction routes with foreign source IDs to disclose derived wiki titles and summaries and alter ingestion state.

Threat Intelligence Overview

EPSS Score
0.2%
Top 93% exploitable
Prevalence
Rare
obscure single-maintainer open-source project, negligible enterprise footprint
Social Media
1
Sightings
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.2%
Patch available No
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.

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