Skip to main content

99AI CVE-2026-111707

| EUVDEUVD-2026-102999 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-16 VulnCheck GHSA-ghmq-xxc8-j8m5
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Send fingerprint header to obtain visitor JWT
  2. Exploit
    Call querySingleChat with sequential chatId
  3. Impact
    Harvest other users' chat messages and task data

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 that the 99AI instance (≤ 4.3.0) exposes the chatLog querySingleChat API and the visitor-login/fingerprint JWT mechanism, both of which are default behavior - the attacker sends a fingerprint header to be issued a visitor JWT and then iterates sequential integer chatId values. No authentication, user interaction, or non-default configuration is required. The only practical limiting factor is that chatId values are sequential and therefore guessable/enumerable, and exposure is confined to chat message and task content (read-only); no write, admin, or system-level access is granted.

Impact

The source-provided CVSS 4.0 vector scores 6.9 (Medium): AV:N/AC:L/AT:N/PR:N/UI:N means a remote, unauthenticated, low-complexity attack with no user interaction, which makes exploitation trivial and reliable. However, impact is deliberately bounded - VC:L with VI:N/VA:N and SC/SI/SA:N - so the only consequence is limited disclosure of other users' chat message and task content, with no integrity, availability, or scope impact. These signals are consistent rather than conflicting: easy to exploit, modest impact. No EPSS score is present in the input, so real-world exploitation probability is unknown and cannot be asserted; the CVE is not listed in CISA KEV, so there is no confirmed active exploitation. A detailed public technical writeup (hackmd) and direct links to the vulnerable source code are provided, meaning the exploitation method is publicly documented and easily reproducible. SSVC decision data (exploitation/automatable/technical impact) was not supplied and cannot be synthesized. Net: this is a credible, easy-to-exploit confidentiality issue but not a catastrophic RCE/takeover; priority should be driven by whether 99AI is deployed with sensitive chat data, tempered by the product's limited deployment footprint.

Exploit ScenarioDerived

An unauthenticated attacker sends a crafted fingerprint header to the application to mint a low-privilege 'visitor' JWT, then calls the querySingleChat API repeatedly while incrementing a sequential chatId value. Because querySingleChat performs no owner check, each request returns another user's chat messages and associated task data, letting the attacker harvest conversation content at scale. A public technical writeup documenting this exact unauthenticated export and IDOR chain exists, so the technique is reproducible without original research.

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

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

Alert me

AnalysisAIv1 – Oct 16, 2026

99AI through version 4.3.0 allows unauthenticated attackers to read other users' private chat messages and task data, because the querySingleChat handler in the chatLog service performs no ownership check on the requested chat identifier. A remote attacker simply supplies a fingerprint header to be issued a low-privilege visitor JWT, then enumerates sequential integer chatId values to harvest message content belonging to other users. The source CVSS 4.0 vector rates this 6.9 (Medium) with PR:N/UI:N and low confidentiality impact, and our independent assessment agrees it is trivially and reliably exploitable, though it is read-only, grants no write or administrative access, and is not confirmed actively exploited (no CISA KEV listing) or accompanied by packaged exploit code; a public technical writeup describing the attack path is referenced.

RemediationAI

No vendor-released patch was identified at time of analysis, so until upstream issues a fixed release (monitor https://github.com/vastxie/99AI and the advisory at https://www.vulncheck.com/advisories/99ai-through-4.3.0-idor-via-api-chatlog-querysinglechat-chat-message-disclosure) operators must rely on compensating controls. The most direct fix is code-level: add an explicit owner check to querySingleChat so it verifies the caller's user identity against the chat record's owner before returning data, per the referenced source at service/src/modules/chatLog/chatLog.service.ts#L463-L475, and enforce it centrally rather than per-endpoint; the trade-off is that this requires maintaining a local fork. Second, convert chatId from sequential integers to unguessable UUIDs or add a per-record random token, which defeats enumeration but does not fix the missing authorization check and requires a data migration. Third, if visitor access is not essential, disable the fingerprint-based visitor JWT issuance in jwtAuth.guard.ts (or reject visitor principals on chat-log routes) so that only fully authenticated users can call the API; the trade-off is loss of anonymous/guest chat functionality. Fourth, apply rate limiting and anomaly detection to the chatLog endpoints to slow bulk chatId enumeration, and restrict network access to those endpoints via reverse-proxy allowlists or authenticated API gateways where the deployment permits, recognizing that these only reduce exposure rather than eliminate the flaw. Finally, because the disclosed data is other users' chat message and task content, treat any pre-patch deployment as potentially compromised: rotate signing keys for the visitor JWT mechanism, review access logs for sequential chatId sweeps, and notify affected users as required by applicable privacy obligations.

Affected VersionsENISA

99AI 0 ≤4.3.0

Affected Packages

euvd 99ai 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 a classic insecure direct object reference (CWE-639) in 99AI, an open-source AI chat application maintained by vastxie (CPE cpe:2.3:a:vastxie:99ai:*:*:*:*:*:*:*:*, indicating all versions up to and including 4.3.0). The product ships a visitor-login mechanism in which the application issues a JWT based on a client-supplied fingerprint header; the authentication guard (service/src/common/auth/jwtAuth.guard.ts at tag v4.3.0) accepts this visitor token, so any remote client can obtain a legitimate but unprivileged session without credentials. The vulnerable endpoint is the chat-log API's querySingleChat function (service/src/modules/chatLog/chatLog.service.ts, lines 463-475 at v4.3.0), which retrieves a chat record by its numeric chatId but never verifies that the authenticated principal owns that record. Because chatId values are sequential integers rather than opaque UUIDs, an attacker with any valid visitor token can walk the identifier space and retrieve the message content and associated task data of arbitrary users. The root cause is therefore twofold: trust of a spoofable fingerprint header for identity issuance, and authorization logic that relies on object references being unguessable rather than enforcing an explicit owner check.

Know when 99Ai 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 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.3 MEDIUM

Unauthenticated network access via an auto-issued visitor JWT (PR:N, AC:L) with read-only disclosure of other users' chat data only, so C:L and I:N/A:N.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/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
None
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

99AI through 4.3.0 contains an insecure direct object reference vulnerability that allows unauthenticated attackers to read other users' chat messages because querySingleChat lacks an owner check. Attackers can send a fingerprint header to obtain a visitor JWT and iterate sequential chatId values to retrieve other users' message content and task data.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Low
self-hosted open-source AI chat app, niche deployment 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.3%
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
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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