Skip to main content

Arkon EUVDEUVD-2026-103007

| CVE-2026-111715 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-16 VulnCheck GHSA-h23m-p5hh-g2pm
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 with wiki:read:own_dept permission
  2. Exploit
    Request GET /api/wiki/graph with foreign department slug
  3. Execution
    get_neighborhood() skips scope/authorization check
  4. Impact
    Harvest cross-department page metadata to depth 3

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

Requires a valid authenticated Arkon account holding at least the wiki:read:own_dept permission - i.e., any ordinary employee-level user, so this is an insider/authenticated-user issue rather than remote-unauthenticated. The attacker must supply a foreign department's wiki slug to GET /api/wiki/graph; knowing or guessing a target slug is the only additional prerequisite. Exploitation is naturally LIMITED to read-only disclosure of metadata (slugs, titles, types, and link edges up to depth 3) - no page content bodies, no modification, and no availability impact - which caps the realistic damage regardless of how easily the request succeeds.

Impact

All signals converge on a LOW real-world priority. The CVSS 4.0 base score of 5.3 (Medium) reflects AV:N/AC:L/PR:L/UI:N with only VC:L and no integrity or availability impact - i.e., an easy-to-trigger but low-consequence confidentiality leak requiring a valid authenticated account. This is not a KEV entry (no confirmed active exploitation) and no EPSS score was supplied in the input, so widespread opportunistic exploitation cannot be quantified from the data available. A detailed public technical writeup (hackmd) and the exact vulnerable source lines on GitHub are referenced, which meaningfully lowers the barrier to crafting a working request even though no packaged weaponized exploit is flagged. The impact ceiling is narrow: the flaw exposes cross-department wiki METADATA (slugs, titles, types, link edges to depth 3) - not page bodies, credentials, or write access - so this is an authenticated internal information-disclosure/IDOR issue, not a critical breach vector. Net: a genuine but low-severity issue best triaged behind externally-facing or higher-impact findings. The signals are internally consistent (no CVSS-vs-description conflict); the main GAP is the absence of EPSS and any deployment-scale data for this obscure product.

Exploit ScenarioDerived

A legitimate employee holding only the wiki:read:own_dept permission authenticates normally, then calls GET /api/wiki/graph supplying a wiki slug belonging to another department. Because get_neighborhood() performs no scope check, the server returns that department's page slugs, titles, types, and link edges up to depth 3, letting the insider map confidential wiki structure they should not see. A public technical writeup and the vulnerable source lines are available, making the request trivial to reproduce.

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

Missing authorization in Arkon through 0.9.2 lets any authenticated employee who holds only the wiki:read:own_dept permission read another department's wiki metadata - page slugs, titles, node types and link edges up to depth three - by supplying a foreign department slug to GET /api/wiki/graph. Root cause is a CWE-639 user-controlled key flaw: the route passes the caller-supplied slug straight into get_neighborhood() without verifying that the requested department belongs to the requester, so an ordinary employee-level account is sufficient and no elevated role is needed. Impact is deliberately narrow (CVSS 5.3, and our own assessment of CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N): read-only metadata disclosure only, with no page body content, no data modification and no availability impact; no public exploit identified at time of analysis, and exploitation merely requires knowing or guessing a target department slug.

RemediationAI

No vendor-released patch identified at time of analysis; the only upstream artifacts available are the vulnerable v0.9.2 source references (app/routers/wiki.py L621-L633 and app/services/wiki_service.py L200-L257), so any fix would have to come from the maintainer or from an internal code change - add a server-side scope check that resolves the requested slug, compares its owning department against the caller's department claims, and rejects the request before get_neighborhood() traverses edges (ideally also capping or filtering the returned link edges to in-scope nodes). Until such a fix is confirmed, the most effective compensating control with the smallest side effect is to block or restrict GET /api/wiki/graph at the reverse proxy or WAF - allow it only for users/roles that legitimately need the graph view - accepting the trade-off that the wiki graph/neighborhood visualization feature becomes unavailable to ordinary employees; since these are authenticated users, the proxy rule has to key on session identity or on graph requests carrying slugs outside the caller's department rather than on IP. If the graph view is not used in your deployment, simply disabling the route outright removes the exposure entirely with no data-integrity cost. Alternatively, narrow the wiki:read:own_dept grant so that only genuinely cross-department readers keep it, understanding that revoking it also removes normal department wiki read access for affected users. Because the only additional exploit prerequisite is knowing or guessing a foreign slug, switching slugs to non-enumerable random identifiers would raise the effort required but would not fix the underlying authorization flaw and should not be treated as a remedy. Monitor application and proxy logs for /api/wiki/graph calls using slugs outside the caller's department, and treat depth-3 metadata pulls from unexpected users as a signal of this IDOR activity.

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

Arkon is a Python web application (FastAPI-style app/routers and app/services layout) that organizes wiki content by department and enforces scoped permissions such as wiki:read:own_dept. The vulnerable path is a read endpoint, GET /api/wiki/graph (app/routers/wiki.py L621-L633), which is intended to render a wiki graph/neighborhood visualization and therefore returns lightweight node metadata - slugs, titles, types and link edges - rather than page bodies. The handler forwards the client-supplied slug parameter into the service function get_neighborhood() in app/services/wiki_service.py (L200-L257), which walks link edges up to depth 3 but performs no scope check against the caller's department before doing so. This maps to CWE-639 (Authorization Bypass Through User-Controlled Key), the classic IDOR pattern: the authorization decision is keyed on an identifier the attacker fully controls, and the permission gate that does exist (wiki:read:own_dept) validates only that the user may read their own department, never that the slug being requested is in it. CPE cpe:2.3:a:nduckmink:arkon:*:*:*:*:*:*:*:* confirms the affected package is nduckmink's Arkon across all versions through 0.9.2. Because the endpoint is read-only and returns derived graph metadata, the confidentiality exposure is bounded - cross-department data leakage of titles and link relationships (useful for reconnaissance and mapping internal structure) but not of the underlying content.

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

Authenticated low-priv user over the network (PR:L, AV:N, AC:L) triggers a metadata-only read, so C:L with I:N/A:N and unchanged scope.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/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
None
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 missing authorization vulnerability in GET /api/wiki/graph that lets authenticated employees read other departments' wiki metadata by supplying a foreign slug. Attackers with only wiki:read:own_dept permission can query get_neighborhood() without scope checks to obtain page slugs, titles, types and link edges up to depth 3.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Rare
obscure single-author GitHub project (nduckmink/arkon), no 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 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· 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.

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