Cyber Resilience

CVE-2026-33622

Pinchtab 0.8.3 – 0.8.5

Public PoC
Published
26 March 2026
Modified
31 March 2026
Patch / advisory
CVSS Score v4 6.1
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:L/VA:N/SC:H/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS Score 0.0051 41th percentile
Risk Priority 26 floored blend · peak EPSS

Summary

CVE-2026-33622 is a medium-severity Code Injection (CWE-94) vulnerability in Pinchtab Pinchtab. Its CVSS base score is 6.1 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 41th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

This vulnerability is AI-related — categorised as AI Agent Protocols and Integrations; in the Protocol-Specific Risks risk domain.

The strongest mitigations our analysis identified map to AC-3 (Access Enforcement) and AC-4 (Information Flow Enforcement) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-33622 is a security-policy bypass vulnerability in PinchTab, a standalone HTTP server that enables AI agents to directly control a Chrome browser. The issue affects versions v0.8.3 through v0.8.5 and allows arbitrary JavaScript execution via POST /wait and POST /tabs/{id}/wait endpoints when using "fn" mode, even if the security.allowEvaluate configuration is disabled. While POST /evaluate properly enforces this guard (disabled by default), the /wait endpoints embed user-controlled "fn" expressions directly into executable JavaScript in the browser context without the same check, classified under CWE-94 (code injection), CWE-284 (improper access control), and CWE-693 (protection mechanism failure). The vulnerability carries a CVSS v3.1 base score of 8.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H).

Exploitation requires authenticated API access using a valid server token, meaning a caller with legitimate credentials can bypass the operator's explicit disablement of JavaScript evaluation to run arbitrary code in a tab's browser context. This enables high-impact compromise of confidentiality, integrity, and availability within the controlled browser environment, such as data exfiltration, session hijacking, or malicious actions on behalf of the AI agent.

The GitHub security advisory (GHSA-w5pc-m664-r62v) details that the fix applies the existing security.allowEvaluate policy boundary to "fn" mode in /wait endpoints, mirroring the enforcement on /evaluate while preserving non-code wait modes. As of the CVE publication on 2026-03-26, no patched version is available.

PinchTab's design for AI agent browser control introduces risks in AI/ML workflows where agents interact with web environments, though no real-world exploitation has been reported at time of publication.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

PinchTab is a standalone HTTP server that gives AI agents direct control over a Chrome browser. PinchTab `v0.8.3` through `v0.8.5` allow arbitrary JavaScript execution through `POST /wait` and `POST /tabs/{id}/wait` when the request uses `fn` mode, even if `security.allowEvaluate` is…

more

disabled. `POST /evaluate` correctly enforces the `security.allowEvaluate` guard, which is disabled by default. However, in the affected releases, `POST /wait` accepted a user-controlled `fn` expression, embedded it directly into executable JavaScript, and evaluated it in the browser context without checking the same policy. This is a security-policy bypass rather than a separate authentication bypass. Exploitation still requires authenticated API access, but a caller with the server token can execute arbitrary JavaScript in a tab context even when the operator explicitly disabled JavaScript evaluation. The current worktree fixes this by applying the same policy boundary to `fn` mode in `/wait` that already exists on `/evaluate`, while preserving the non-code wait modes. As of time of publication, a patched version is not yet available.

CWE(s)

AI Security AnalysisAI

AI Category
AI Agent Protocols and Integrations
Risk Domain
Protocol-Specific Risks
OWASP Top 10 for LLMs 2025
None mapped
Classification Reason
Matched keywords: ai

Related Threats

MITRE ATT&CK Enterprise Techniques

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1548 Abuse Elevation Control Mechanism Privilege Escalation
Adversaries may circumvent mechanisms designed to control privilege elevation to gain higher-level permissions.
T1553 Subvert Trust Controls Defense Impairment
Adversaries may undermine security controls that will either warn users of untrusted activity or prevent execution of untrusted programs.
T1553.005 Mark-of-the-Web Bypass Defense Impairment
Adversaries may abuse specific file formats to subvert Mark-of-the-Web (MOTW) controls.
T1600 Weaken Encryption Defense Impairment
Adversaries may compromise a network device’s encryption capability in order to bypass encryption that would otherwise protect data communications.
T1689 Downgrade Attack Defense Impairment
Adversaries may downgrade or use a version of system features that may be outdated, vulnerable, and/or does not support updated security controls.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-22686Shared CWE-693, CWE-94
CVE-2026-41900Shared CWE-284, CWE-693
CVE-2026-2768Shared CWE-284, CWE-693
CVE-2026-22692Shared CWE-284, CWE-693
CVE-2026-7959Shared CWE-284, CWE-693
CVE-2026-16407Shared CWE-284, CWE-693
CVE-2026-0881Shared CWE-284, CWE-693
CVE-2025-14095Shared CWE-284, CWE-693
CVE-2025-43413Shared CWE-284, CWE-693
CVE-2026-0012Shared CWE-284, CWE-693

Affected Assets

pinchtab
pinchtab
0.8.3 — 0.8.5

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 16 hardening rules · 9 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V10.3.5
  • V6.3.3
  • V6.6.3
  • V10.2.2

Mitigating Controls (NIST 800-53 r5) AI

Directly enforces approved authorizations for logical access, stopping unauthorized actors from reaching resources.

AC-4 mandates use of information flow enforcement mechanisms to control data movement.

SC-2 requires separation of user and system functionality as a protection mechanism.

SC-28 requires protection mechanisms for information at rest.

SC-3 requires isolation of security functions from non-security functions.

SC-7 requires boundary protection mechanisms to monitor and control external communications.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.AA-03 mostly match
prevents

Enforcing authentication directly implements a core protection mechanism whose absence or misuse is the CWE.

PR.AA-05 mostly match
prevents

PR.AA-05 directly enforces policy-based access management and least privilege, eliminating most improper-access-control defects, yet CWE-284 also covers implementation flaws and design gaps outside a single management control.

PR.DS-01 mostly match
prevents

Cryptographic and integrity controls are protection mechanisms whose correct deployment mitigates the CWE.

PR.DS-02 mostly match
prevents

Encryption and integrity protections for transit are explicit protection mechanisms.

PR.IR-01 mostly match
prevents

Logical network protections are protection mechanisms whose failure matches the CWE.

PR.PS-01 mostly match
prevents

Hardened baselines and deviation monitoring directly eliminate most configuration-induced access-control defects, yet CWE-284 also encompasses code-level and design flaws outside the scope of configuration management alone.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Defining and enforcing explicit access rights and restrictions for each entity directly stops the assignment of permissions that exceed what is required, eliminating the root condition that allows improper access control.

prevents

Formal authorization, role-based provisioning, and timely revocation of access rights directly stop the creation of accounts or permissions that exceed what the business actually needs.

prevents

By enforcing explicit rules on which identities or groups may perform read, write, delete or execute operations and by denying anonymous access to sensitive data, the control directly stops the creation of overly permissive or missing access-control checks.

prevents

Requiring one-to-one mapping of identities to entities and timely removal of unused identities directly stops attackers from leveraging stale or shared accounts to bypass access restrictions.

prevents

By explicitly transferring security roles and responsibilities when personnel change jobs or leave, the control reduces the chance that former employees retain access rights they no longer need, thereby limiting improper access control.

prevents

Physical entry controls enforce explicit authorization and authentication at every access point, directly stopping unauthorized actors from reaching information-processing assets.

Hardening callouts derived

Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).

Oracle Linux 8 (4 rules)
  • V-248524 OL 8 must implement NIST FIPS-validated cryptography for the following: To provision digital signatures, to generate cryptographic hashes, and to protect data requiring data-at-rest protections in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards. prevents CWE-693
  • V-248525 All OL 8 local disk partitions must implement cryptographic mechanisms to prevent unauthorized disclosure or modification of all information that requires at-rest protection. prevents CWE-693
  • V-248597 There must be no "shosts.equiv" files on the OL 8 operating system. prevents CWE-284
Oracle Linux 9 (2 rules)
  • V-271758 OL 9 file systems must not contain .shosts files. prevents CWE-284
  • V-271757 OL 9 file systems must not contain shosts.equiv files. prevents CWE-284
RHEL 7 (2 rules)
  • V-204606 The Red Hat Enterprise Linux operating system must not contain .shosts files. prevents CWE-284
  • V-204607 The Red Hat Enterprise Linux operating system must not contain shosts.equiv files. prevents CWE-284
RHEL 8 (2 rules)
  • V-230283 There must be no shosts.equiv files on the RHEL 8 operating system. prevents CWE-284
  • V-230284 There must be no .shosts files on the RHEL 8 operating system. prevents CWE-284
Windows 10 (2 rules)
  • V-220865 The Windows Remote Management (WinRM) service must not use Basic authentication. prevents CWE-693
  • V-220812 Credential Guard must be running on Windows 10 domain-joined systems. prevents CWE-693
Windows 11 (1 rule)
  • V-253418 The Windows Remote Management (WinRM) service must not use Basic authentication. prevents CWE-693
Windows Server 2016 (1 rule)
  • V-225012 Windows Server 2016 must be running Credential Guard on domain-joined member servers. prevents CWE-693
Windows Server 2019 (1 rule)
  • V-205907 Windows Server 2019 must be running Credential Guard on domain-joined member servers. prevents CWE-693
Windows Server 2022 (1 rule)
  • V-254441 Windows Server 2022 must be running Credential Guard on domain-joined member servers. prevents CWE-693

References