Skip to main content

OpenHealth EUVDEUVD-2026-102476

| CVE-2026-111312 CRITICAL
Missing Authentication for Critical Function (CWE-306)
2026-10-15 VulnCheck GHSA-hf94-g3wx-3vc6
9.2
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Enumerate or obtain valid HealthData record id
  2. Exploit
    Send unauthenticated GET/PATCH/DELETE to /api/health-data/[id]
  3. Execution
    Bypass missing session and authorId checks
  4. Impact
    Read, overwrite, or delete victim medical records

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

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

Exploitation Conditions

Requires that the three /api/health-data/[id] route handlers (GET, PATCH, DELETE) are reachable, which the referenced middleware.ts omits from authentication coverage, and that the attacker possesses a valid HealthData record id - the sole gating prerequisite captured by CVSS AT:P. No authentication is required (PR:N) and no user interaction (UI:N) against a default OpenHealth deployment through version 0.2.0. The realistic limiting factor is id knowledge: if record ids are sequential or otherwise enumerable, exploitation scales to mass data theft/tampering; if they are high-entropy UUIDs, an attacker must first leak a valid id (e.g., via shared links, logs, or referrer leakage), narrowing exploitation to targeted abuse.

Impact

This is a genuine high-priority issue, not a CVSS-inflated paper risk. The CVSS 4.0 vector (AV:N/AC:L/PR:N/UI:N, VC:H/VI:H/VA:L) and CWE-306 (Missing Authentication) align tightly with the description: the /api/health-data/[id] handlers query by id with no session or authorId check, so a remote unauthenticated attacker can read, overwrite, or delete another user's medical records. The one meaningful brake is AT:P (Attack Requirements: Present), which reflects that the attacker must first know a valid HealthData record id - this is the IDOR prerequisite and the single factor separating this from trivial mass exploitation. No EPSS score, KEV listing, or explicit POC flag was supplied in the input, so exploitation probability cannot be quantified and active exploitation cannot be asserted. Signals are therefore consistent rather than conflicting: a confirmed, structurally simple auth-bypass against sensitive health data, tempered only by id-knowledge and the niche footprint of the product. The exploitability hinges on whether record ids are enumerable/predictable (sequential) versus high-entropy (UUID) - the input does not specify, so treat mass exploitation as plausible-but-unverified.

Exploit ScenarioDerived

A remote unauthenticated attacker learns or guesses a valid HealthData record id and issues a GET to /api/health-data/[id] to read another patient's medical records and file metadata, then a PATCH to overwrite that record with arbitrary JSON or a DELETE to destroy it. Because the handlers skip session and authorId validation entirely (CWE-306), no login or user interaction is needed - the only prerequisite (reflected in CVSS AT:P) is possession of a valid id. A third-party technical write-up detailing the flaw exists, but no packaged public exploit code was indicated in the input.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 0.5% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 15, 2026

OpenHealth through 0.2.0 fails to enforce authentication or ownership checks in the /api/health-data/[id] GET, PATCH, and DELETE handlers, allowing unauthenticated attackers who know a HealthData record id to read another user's medical record data and file metadata, overwrite the record with arbitrary JSON, or delete it. The issue is rated CVSS 4.0 9.2 and is reported by VulnCheck; no public exploit identified at time of analysis, and no CISA KEV active-exploitation confirmation is provided. Exploitation still depends on obtaining a valid record id: if ids are sequential or otherwise enumerable, the impact scales to mass medical-record theft or tampering, while high-entropy UUIDs narrow exploitation to targeted abuse after an id leak.

RemediationAI

No vendor-released patch identified at time of analysis. Until a fixed release is available, enforce authentication and authorization for the /api/health-data/[id] route by adding it to middleware coverage and by validating, inside each GET, PATCH, and DELETE handler, that the request has a valid session and that the session user matches the record's authorId; this is the primary corrective action, but it can break intended public or share-link access unless such access is redesigned with scoped tokens. As an immediate compensating control, block unauthenticated access to /api/health-data/ at the reverse proxy, API gateway, or WAF, or temporarily disable the endpoint if medical-record sharing is not required; the trade-off is that legitimate clients and sharing workflows will fail until access is restored with proper checks. Because exploitation is gated by knowledge of a record id, review logs for enumeration or ID leakage, treat records as potentially exposed if IDs are sequential, and rotate or replace predictable IDs where feasible. Consult the VulnCheck advisory at https://www.vulncheck.com/advisories/openhealth-through-0.2.0-missing-authentication-via-api-health-data-id-route and the GitHub repository at https://github.com/OpenHealthForAll/open-health for any vendor update or fixed version, and upgrade once an exact patched version is published.

Affected VersionsENISA

OpenHealth 0 ≤0.2.0

Affected Packages

euvd openhealth 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 vulnerable component is OpenHealthForAll OpenHealth, a Next.js application whose API route at src/app/api/health-data/[id]/route.ts handles GET, PATCH, and DELETE for HealthData records. The referenced middleware.ts fails to include the route in authentication coverage, and the handlers query by id without validating a session or matching authorId, which is the CWE-306 missing authentication for critical function class of root cause. The CPE cpe:2.3:a:openhealthforall:openhealth:*:*:*:*:*:*:*:* identifies the product family, and the advisory scope is through version 0.2.0. The assessed CVSS 3.1 vector is AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L, consistent with unauthenticated remote access, while the CVSS 4.0 AT:P metric reflects the practical need to know a valid record id. Attackers with an id can read medical record data and file metadata, overwrite records with arbitrary JSON, or delete them.

Know when Openhealth 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 9.2 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N
vuln.today AI 9.4 CRITICAL

Network-facing API with no authentication (PR:N) and only an id-knowledge prerequisite treated as AC:L; high confidentiality and integrity impact from read/overwrite, limited availability (A:L) from record deletion.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

OpenHealth through 0.2.0 contains a missing authentication and authorization vulnerability in the /api/health-data/[id] GET, PATCH and DELETE handlers that query records by id without session or authorId checks. Unauthenticated attackers who know a HealthData record id can read another user's medical record data and file metadata, overwrite it with arbitrary JSON, or delete it.

Executive ViewAI

Why It Matters

OpenHealth through 0.2.0 poses a critical business risk: sensitive medical records and associated file metadata may be exposed, overwritten with arbitrary content, or deleted by anyone who obtains a valid record identifier, and no vendor-released patch identified at time of analysis. This affects patients, clinicians, and privacy/legal teams because compromised record confidentiality or integrity can disrupt care, trigger regulatory exposure, and erode trust; the potential scale ranges from targeted abuse to mass record compromise if record identifiers are predictable or enumerable. No public exploit identified at time of analysis.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations include restricting network access to OpenHealth instances and the /api/health-data/[id] endpoints through VPN, an authenticated reverse proxy, or an API gateway; disabling or blocking PATCH and DELETE methods where not required; implementing server-side authentication and ownership checks; migrating record identifiers to high-entropy UUIDs to prevent enumeration; applying rate limiting and monitoring for record-access anomalies; and auditing access logs for unauthorized reads, modifications, or deletions.

Threat Intelligence Overview

EPSS Score
0.5%
Top 62% exploitable
Prevalence
Low
niche open-source AI health assistant, small self-hosted deployment footprint
Social Media
1
Sightings
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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.5%
Patch available No
Active threat No
Deciding rule
CRITICAL severity
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
Out-of-Cycle
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Very High

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
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