☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Tencent logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 6.6 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L 🐛 CWE-346
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-94111

CVE-2026-94111 Authentication Bypass in Tencent
📅 PUBLISHED: 2026-09-20 00:00 UTC 🔄 UPDATED: 2026-09-22 09:08 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: China License: Commercial
VULNERABLE: <= 0.3.0
CVSS VECTOR BREAKDOWN 6.6
AV: L Attack Vector Local
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: L Confidentiality Low
I: H Integrity High
A: L Availability Low
6.6
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-94111 is an authentication bypass vulnerability in Tencent BrowserSkill through version 0.3.0. The flaw resides in the origin validation logic of the product's local daemon WebSocket interface, which improperly accepts any Chrome extension origin string consisting of exactly 32 characters in the range a–p. A local attacker who registers a malicious browser extension can connect to the daemon as a legitimate browser client and intercept or manipulate page content, DOM, and screenshots relayed to the AI agent. No public exploit or vendor patch is currently available.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The vulnerability class is CWE-346, Origin Validation Error. Tencent BrowserSkill exposes a local daemon that communicates with browser-side components over a WebSocket channel. As part of the WebSocket handshake, the daemon is expected to validate the Origin header against a strict allowlist of trusted Chrome extension origins (typically chrome-extension://<32-character-extension-id>).

The NVD description states the validation accepts "any chrome-extension origin with 32 characters in range a-p." This indicates that the origin check is implemented as a character-class/length predicate rather than an equality check against a known trusted extension ID. Chrome extension IDs are 32 lowercase alphabetic characters historically drawn from the a–p range (a base-16 hex encoding of the extension's public key hash). Consequently, the flawed check collapses to "length == 32 and all chars within [a-p]," which matches every possible extension origin, including attacker-controlled ones.

Because the check does not bind the origin to a specific trusted extension ID, the daemon's authentication boundary is effectively removed. Any locally installed extension can present a syntactically valid 32-character a–p origin and be treated as the trusted browser client. This is an authentication bypass rooted in insufficient origin binding, not a memory-safety or injection flaw.

The attack surface is the local WebSocket listener of the daemon. The CVSS vector (AV:L, PR:L, UI:N) reflects that exploitation requires local access and low-privilege capability — i.e., the ability to register a browser extension — with no user interaction beyond normal extension installation. Impact subscores show low confidentiality (C:L), high integrity (I:H), and low availability (A:L), consistent with tamper-oriented access to content/DOM/screenshot data rather than full system compromise.

Insufficient technical detail is available regarding the exact handshake message format, the daemon's internal validation function names, or the WebSocket URL path. These are intentionally not speculated here.

Exploitation Scenarios

The following attack chain is inferred from the vulnerability class and the NVD description; no public PoC exists.

  1. Reconnaissance/target identification. The attacker obtains local access to a host running Tencent BrowserSkill (<= 0.3.0) and confirms the daemon's local WebSocket interface is present. The attacker identifies the daemon's listening endpoint (local only per AV:L).

  2. Triggering the flaw class. The attacker develops and registers a malicious Chrome extension. Because the daemon accepts any origin matching "32 characters in range a–p," the attacker's extension — which naturally has a valid 32-character a–p extension ID — passes origin validation. No knowledge of the trusted extension's ID is required.

  3. Payload/execution. The attacker's extension connects to the local daemon WebSocket as if it were the legitimate browser client. It then participates in the browser-client protocol, receiving or injecting data that the daemon relays to/from the AI agent.

  4. Post-exploitation impact. Per the description, the attacker can "intercept and manipulate page content, DOM, and screenshots returned to the AI agent." This enables tampering with the AI agent's visual and textual inputs — e.g., altering rendered content presented to the agent, forging screenshot data, or injecting DOM content — potentially steering the agent's decisions. No public PoC available; attack chain is inferred from vulnerability class.

Impact Assessment

The blast radius is limited to hosts where BrowserSkill's daemon runs and where an attacker can install a browser extension — matching the AV:L/PR:L context. Integrity impact is high (I:H): an attacker can alter page content, DOM, and screenshots delivered to the AI agent, undermining the trustworthiness of all agent-received data. Confidentiality is low (C:L) and availability low (A:L), as the flaw is oriented toward tampering rather than broad data exfiltration or denial of service. Business impact centers on AI agent decision integrity: if agents act on manipulated content or screenshots, downstream automated actions, summarization, or workflow triggers may be corrupted. Because the flaw is unpatched and requires no user interaction (UI:N), any environment deploying affected versions with third-party extension capability is at risk.

Detection Guidance

Sigma Rule

title: Suspicious Chrome Extension Origin WebSocket Handshake to BrowserSkill Daemon
id: 3f7c9a1e-2026-4b7e-9c11-94111aabbccd
status: experimental
description: Detects WebSocket connections to the local BrowserSkill daemon whose Origin header is a generic chrome-extension origin, indicating possible CVE-2026-94111 exploitation.
logsource:
  category: network_connection
  product: windows
detection:
  selection_origin:
    Initiated: 'true'
    DestinationPort: 0
    Origin|startswith: 'chrome-extension://'
  selection_daemon:
    DestinationIp|cidr:
      - '127.0.0.0/8'
      - '::1/128'
  condition: selection_origin and selection_daemon
fields:
  - Image
  - DestinationIp
  - DestinationPort
  - Origin
falsepositives:
  - Legitimate trusted browser extension connecting to the daemon
level: medium
tags:
  - attack.t1190
  - cve.2026.94111

YARA Rule

rule CVE_2026_94111_BrowserSkill_Origin_Bypass
{
    meta:
        description = "Detects code referencing BrowserSkill daemon WebSocket origin validation with chrome-extension origin handling"
        author = "Threat Intelligence"
        reference = "CVE-2026-94111"
        date = "2026-01-01"
        severity = "medium"

    strings:
        $ws = "ws://127.0.0.1" ascii nocase
        $origin = "chrome-extension://" ascii nocase
        $daemon = "BrowserSkill" ascii nocase

    condition:
        uint32(0) == 0x464c457f or uint16(0) == 0x5a4d and
        ($origin and ($ws or $daemon))
}

Suricata IDS Rule

alert tcp $HOME_NET any -> $HOME_NET any (msg:"CVE-2026-94111 Tencent BrowserSkill Daemon WebSocket Origin Bypass Attempt"; flow:to_server,established; content:"Upgrade|3a 20|websocket"; nocase; http_header; content:"Origin|3a 20|chrome-extension://"; nocase; http_header; pcre:"/Origin\x3a\x20chrome-extension:\/\/[a-p]{32}/Hi"; classtype:attempted-user; reference:cve,2026-94111; reference:url,https://nvd.nist.gov/vuln/detail/CVE-2026-94111; sid:202694111; rev:1; metadata:created_at 2026_01_01, updated_at 2026_01_01;)

Elastic Detection

network where
  destination.ip in ("127.0.0.1", "::1") and
  event.action == "connection_started" and
  process.name != null and
  network.transport == "tcp"

Splunk SPL Query

index=network OR index=proxy (dest_ip IN ("127.0.0.1","::1"))
| search (http_headers_Origin="chrome-extension://*" OR url="*chrome-extension://*")
| regex http_headers_Origin="chrome-extension://[a-p]{32}"
| stats count values(http_headers_Origin) as origins by src_ip dest_ip dest_port process_name
| where count > 0

Wazuh OSSEC Rule

<group name="browserskill,cve-2026-94111,">
  <rule id="202694111" level="10">
    <decoded_as>json</decoded_as>
    <field name="Origin">^chrome-extension://[a-p]{32}$</field>
    <field name="DestinationIp">^127\.0\.0\.1$|^::1$</field>
    <description>CVE-2026-94111: Possible BrowserSkill daemon WebSocket origin bypass via generic chrome-extension origin.</description>
    <mitre>
      <id>T1190</id>
    </mitre>
    <group>authentication_bypass,</group>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source).

  1. Immediate mitigations

    • Restrict installation of untrusted browser extensions on hosts running the BrowserSkill daemon (enforce extension allowlisting via enterprise browser policy).
    • Where feasible, disable or restrict the local daemon's WebSocket listener until a fix is available; run the agent only when browser integration is strictly required.
    • Monitor local WebSocket connections for chrome-extension:// origins and alert on any origin that is not the explicitly trusted extension ID.
  2. Patch/upgrade steps

    • No vendor patch is available. Track Tencent's BrowserSkill release notes and upgrade beyond 0.3.0 as soon as a fixed version ships.
    • Do not rely on a specific patch version; verify the origin-validation logic now enforces exact extension-ID matching post-upgrade.
  3. Long-term hardening

    • Replace character-class/length origin predicates with exact allowlist comparison against the trusted extension ID.
    • Add mutual authentication (per-session tokens or OS-level local IPC peer verification) to the daemon/extension channel so origin alone is not the sole trust anchor.
    • Apply least-privilege to agent hosts and audit extension manifests and origins continuously.

References

No threat actor campaigns or exploit-in-the-wild evidence are currently known for this CVE. CISA KEV: NO.

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-94111/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.