ZeroHour

CVE-2026-55378

niche

Command injection in JS Recon GitHub Actions PR checker workflow

CVSS 4.0
9.3 critical
EPSS
<1%p47
Published
()
Modified
AI analysis

CVE-2026-55378 is an OS command injection (CWE-78) in the PR Branch Checker GitHub Actions workflow (.github/workflows/pr_checker.yml) of JS Recon, a JavaScript enumeration and SAST tool. In versions from 1.2.1-beta.1 through before 1.3.1-beta.2, the workflow interpolates the untrusted pull-request fields github.head_ref and github.event.pull_request.head.repo.full_name directly into a shell 'gh pr comment' command, so an attacker who opens a pull request with shell metacharacters in the branch or fork repository name can inject arbitrary commands. A successful injection executes commands on the GitHub Actions runner with the workflow's GITHUB_TOKEN, which holds pull-requests write permission, allowing the attacker to tamper with pull requests (e.g., post comments or modify PR state) and access anything available to the runner, including secrets in the workflow context. Affected parties are repositories running this workflow from JS Recon 1.2.1-beta.1 up to (but excluding) 1.3.1-beta.2 — primarily the JS Recon project's own CI and any forks that reused the workflow — rather than downstream users of the tool. No public proof-of-concept is known, the issue is not in CISA KEV, and EPSS puts 30-day exploitation probability at roughly 0.6%, so exploitation is not currently observed.

What to do: Upgrade JS Recon to 1.3.1-beta.2 or later; if you forked the project, apply the same fix to your copy of pr_checker.yml. As mitigation, pass github.head_ref and the head repository name via environment variables instead of interpolating them directly into shell commands, and restrict the workflow GITHUB_TOKEN to the minimum permissions needed. Review workflow runs during the affected window for unexpected 'gh pr comment' activity or anomalous commands, and rotate any secrets accessible to that workflow if compromise is suspected.

Affected
JS Recon project JS Recon (PR Branch Checker GitHub Actions workflow, pr_checker.yml)1.2.1-beta.1 up to, but excluding, 1.3.1-beta.2 (fixed in 1.3.1-beta.2)
Estimated exposure
nicheniche — effectively one repository's CI (the JS Recon project) plus any forks that copied the workflow, on the order of a handful of repositories — The flaw resides in the project's own GitHub Actions workflow rather than in shipped tooling, so the affected population is the JS Recon repository's PR-triggered CI and any forks that reused pr_checker.yml, not users of the tool; no…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

JS Recon is a JavaScript enumeration and SAST tool. From 1.2.1-beta.1 until 1.3.1-beta.2, the PR Branch Checker workflow in .github/workflows/pr_checker.yml places github.head_ref and github.event.pull_request.head.repo.full_name into BRANCH_NAME and SOURCE_REPO and interpolates those untrusted values into a shell gh pr comment command. A remote user who opens a pull request can use shell metacharacters in a branch or fork name to execute commands in the GitHub Actions runner with the workflow's GITHUB_TOKEN, which has pull-requests write permission. This issue is fixed in version 1.3.1-beta.2.

Weakness
CWE-78
Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/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

In the news

No ingested article mentions this CVE yet.