Skip to main content

OpenHuman EUVDEUVD-2026-103201

| CVE-2026-49410 HIGH
Cross-Site Request Forgery (CSRF) (CWE-352)
2026-10-16 GitHub_M
8.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Attacker registers OpenHuman account and obtains Telegram login token
  2. Delivery
    Lure victim with running local core to malicious page
  3. Exploit
    Page sends forged GET /auth/telegram to loopback:7788
  4. Execution
    store_session swaps victim's active session to attacker account
  5. Impact
    Attacker captures agent actions, memory writes, and Telegram messages

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Anti-CSRF tokens, SameSite cookies
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

Exploitation requires that the victim is actively running the local OpenHuman core with its HTTP server listening on loopback port 7788, and that the victim's browser loads attacker-controlled content that issues a cross-origin GET to /auth/telegram (UI:R - user interaction via visiting a malicious page). The attacker must additionally possess their own OpenHuman account and a valid one-time Telegram login token to seed the forged callback. Limiting factors: the vulnerable endpoint is loopback-only so the forgery must traverse the victim's own browser (not a direct remote connection), the attack fails if the local core is not running, and it depends on the pre-0.56.0 version where fetch-metadata/origin validation is absent. No elevated privilege on the victim host is needed because the callback is unauthenticated.

Impact

This is a network-reachable CSRF flaw (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N, base 8.1 High) in the unauthenticated loopback GET /auth/telegram callback of OpenHuman. The CVSS signals are internally consistent with the description: AV:N reflects that a remote attacker-controlled web page reaches the loopback endpoint via the victim's browser, PR:N reflects that the callback itself requires no authentication, and UI:R reflects the mandatory step of the victim visiting a malicious page - the classic CSRF pattern. C:H/I:H/A:N is reasonable because a successful attack silently swaps the victim's active local session to the attacker's backend account, exposing subsequent agent actions, memory writes, and Telegram messages (confidentiality + integrity) without degrading availability. No EPSS score, CISA KEV entry, POC flag, or SSVC decision data was provided, so probabilistic and exploitation-status signals cannot corroborate the CVSS severity. Net: this is a genuine design weakness, but real-world priority is tempered by prerequisites not captured in the base score - the victim must have the local core running and listening on loopback 7788, must be lured to attacker content, and the attacker must already hold their own OpenHuman account plus a one-time Telegram login token. Combined with the product's narrow deployment footprint, this is a legitimate but situational risk rather than a mass-exploitation priority.

Exploit ScenarioDerived

An attacker with their own OpenHuman account obtains a one-time Telegram login token and hosts a malicious web page. When a victim who is running the local OpenHuman core visits that page, the page silently issues a cross-origin GET to the loopback /auth/telegram endpoint on port 7788, causing the core to store the attacker's JWT as the active session. No public exploit code was identified at time of analysis, though the attack is a straightforward browser-driven CSRF requiring no special tooling.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available

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

Alert me

AnalysisAIv1 – Oct 16, 2026

Session hijacking via cross-site request forgery affects OpenHuman versions before 0.56.0: the unauthenticated loopback callback GET /auth/telegram accepts an attacker-supplied one-time Telegram login token and writes the returned JWT straight into the victim's local session store, switching the victim's active session to the attacker's backend account (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N, base 8.1 High). Because the malicious request is issued by the victim's own browser to 127.0.0.1:7788, the attacker needs only their own OpenHuman account, a valid one-time Telegram token, and a victim who visits a crafted page while their local core is running - no authentication to the victim host is required. Exploitation leaves subsequent agent actions, memory writes, and Telegram messages flowing into the attacker's account; no public exploit code or confirmed active exploitation was identified at time of analysis.

RemediationAI

Vendor-released patch: upgrade to OpenHuman 0.56.0 or later, which adds origin and fetch-metadata validation to the /auth/telegram callback; the fix is in PR 2331 / commit b1bbc53fceed7d1f0cff90cbb0a42f4ab8e153a1, and release notes are at https://github.com/tinyhumansai/openhuman/releases/tag/v0.56.0 with the advisory at https://github.com/tinyhumansai/openhuman/security/advisories/GHSA-c4m9-hw7m-vv3m. If immediate upgrade is not possible, compensating controls are: stop the local core when not in use so nothing is listening on loopback port 7788, which removes the attack surface entirely but disables agent functionality; or firewall/port-scope the listener so only the OpenHuman UI processes can reach it, accepting that any local browser can still originate the forged request unless browser-level network isolation is enforced. Organizations should also treat any session that may have been swapped as compromised - re-authenticate OpenHuman, revoke the affected Telegram login token/session on the Telegram side, and review agent action history and memory writes for entries attributable to an unexpected backend account. Because the trigger requires a victim to visit attacker-controlled content, blocking untrusted pages from reaching loopback addresses via browser policy or a DNS/loopback protection extension reduces exposure at the cost of interfering with legitimate localhost integrations.

Affected VersionsENISA

OpenHuman < 0.56.0

Affected Packages

euvd openhuman fix: 0.56.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

The flaw is a classic CWE-352 cross-site request forgery rooted in missing request-origin and fetch-metadata validation. OpenHuman runs a local core HTTP server bound to loopback port 7788 and exposes an unauthenticated GET /auth/telegram route intended to complete a Telegram login round-trip. The pre-0.56.0 handler (telegram_auth_handler) consumes a one-time Telegram login token from the request, exchanges it, and hands the resulting JWT directly to credentials::ops::store_session without checking the browser's Fetch Metadata headers (Sec-Fetch-Site/Origin) or the request Origin. Since GET requests carry no CSRF token and same-origin policy does not prevent a page from issuing a cross-origin request to a loopback address (the response is opaque to the attacker, but the side effect - the state-changing session write - still occurs), the attacker's token is bound to the victim's session store. The same local core is reached over WebSocket by front-end components such as useDictationHotkey and the overlay app (path /socket.io/, loopback base URL), which illustrates that anything able to reach 127.0.0.1:7788 can drive core-authenticated actions - precisely the trust boundary the missing origin check fails to enforce. The CPE cpe:2.3:a:tinyhumansai:openhuman:*:*:*:*:*:*:*:* marks all releases prior to 0.56.0 as affected for both the desktop application and the Rust library distributions.

Know when Openhuman 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 (GitHub_M) PRIMARY 8.1 HIGH
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
vuln.today AI 8.1 HIGH

Unauthenticated loopback callback gives PR:N; CSRF needs the victim to visit a malicious page (UI:R, AV:N, AC:L); session hijack exposes and alters session data (C:H/I:H) with no availability impact.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

2
Patch available
Oct 16, 2026 - 23:18 EUVD
CVE Published
Oct 16, 2026 - 21:25 cve.org
HIGH 8.1

DescriptionCVE.org

OpenHuman is an open-source agent harness available as a desktop application and Rust library. Versions before 0.56.0 allow cross-site request forgery against the unauthenticated GET /auth/telegram loopback callback because telegram_auth_handler consumes an attacker-supplied one-time Telegram login token and passes the returned JWT to credentials::ops::store_session without validating browser fetch metadata or the request origin. An attacker with an OpenHuman account can cause a user with the local core running to visit a malicious page that requests the /auth/telegram endpoint on loopback port 7788, switching the user's active local session to the attacker's backend account and exposing subsequent agent actions, memory writes, and Telegram messages associated with that session to the attacker. This issue is fixed in version 0.56.0.

Technical POC Analysis

CWE-352 (CSRF); the advisory also tags CWE-384 (session fixation).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

A high-severity session hijacking flaw in the OpenHuman desktop agent (all versions prior to 0.56.0) allows an attacker to silently redirect a user's live session to an attacker-controlled backend account; any employee running the local OpenHuman core who visits a crafted web page is potentially affected, and no special privileges or credentials on the victim's machine are needed. Because the hijacked session carries the user's agent activity, memory writes, and Telegram messages into attacker hands, leadership should treat this as a confidentiality and integrity risk to both corporate data handled by the agent and any Telegram-based communications, and should assume affected endpoints remain compromised until sessions are reset.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: shut down the OpenHuman local core when not in use; avoid untrusted pages while the core is running; isolate OpenHuman to a dedicated browser profile; block or restrict inbound requests to the loopback callback on 127.0.0.1:7788 via host firewall/endpoint controls; force session reset and rotate Telegram login tokens and backend credentials; monitor for unexpected account switching and local session-store writes; confirm with the vendor whether OpenHuman 0.56.0 or later remediates the issue.

Threat Intelligence Overview

Prevalence
Low
niche open-source agent harness, limited developer-only deployment
Social Media
2
Sightings
Data Quality
3 sources
Confidence: Low

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 HIGH
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
High

Priority Score

40
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +40
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.

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