A PinchTab Security Policy Bypass in /wait Allows Arbitrary JavaScript Execution
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| pinchtab | pinchtab | affected |
|
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Pinchtab | Pinchtab |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-w5pc-m664-r62v | A PinchTab Security Policy Bypass in /wait Allows Arbitrary JavaScript Execution |
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.544% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:2.3:a:pinchtab:pinchtab:*:*:*:*:*:*:*:* | |
| Metrics |
cvssV3_1
|
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Pinchtab
Pinchtab pinchtab |
|
| Vendors & Products |
Pinchtab
Pinchtab pinchtab |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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 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. | |
| Title | A PinchTab Security Policy Bypass in /wait Allows Arbitrary JavaScript Execution | |
| Weaknesses | CWE-284 CWE-693 CWE-94 |
|
| References |
| |
| Metrics |
cvssV4_0
|