Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain pull request commenter access
-
ExploitPost comment with predictable report marker
-
ExecutionReporter matches comment ignoring author
-
ImpactEdit CI failures to passes or suppress genuine report
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires (1) a project using @e2e-dev/github before 0.4.1 to post CI reports on pull requests, and (2) the attacker having the ability to post a comment on the target pull request (any GitHub user on a public repository, or a collaborator on a private one). The attacker must place the tool's report marker as the first line of a comment; the description states this marker is predictable, so no secret value need be guessed. The vulnerable path is the missing author check in findComment/upsertComment in post.ts, which matches any marker-bearing comment regardless of who wrote it. Limiting factors: the CI workflow must actually run to create or update the report (passive user interaction, UI:P); impact is confined to the integrity of CI report comments (cannot read secrets or run code); and version 0.4.1 fully remediates by verifying the comment author against the token's account (GET /user), falling back to bot-only matching for installation tokens. |
| Impact | This is a medium-severity authorization flaw (CVSS 4.0 base 5.1) whose real-world risk is moderate and narrowly scoped rather than urgent. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N) shows network reach and low complexity but requires low privileges (PR:L - i.e. an authenticated GitHub account able to comment on the PR) and passive user interaction (the CI workflow must run to post/edit the report). Impact is integrity-only and limited (VI:L): an attacker can falsify or suppress CI test reports, but there is no confidentiality or availability impact and no scope change (SC/SI/SA:N), so this cannot by itself execute code or exfiltrate data. No EPSS score, no SSVC decision data, and no KEV entry are present in the input, and no public exploit code is referenced, so exploitation status is 'no public exploit identified at time of analysis.' The root cause is independently corroborated by the vendor source diff (findComment/upsertComment matched any marker-bearing comment regardless of author). The practical danger is a trust/supply-chain concern - a malicious contributor could mask failing tests to get a bad PR merged - but it is confined to repositories using @e2e-dev/github before 0.4.1 and requires comment access to the target PR, so this is a 'patch in normal cadence' issue, not a drop-everything emergency. |
| Exploit ScenarioDerived | An attacker who can comment on a target pull request posts a comment whose first line is the tool's predictable report marker. Because the reporter never checks the comment's author, the CI runner treats the attacker's comment as its own report comment, letting the attacker edit reported failures into passes or suppress the genuine report so a failing or malicious PR appears green. No public exploit code is referenced in the available data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 20, 2026
Improper authorization in @e2e-dev/github before 0.4.1 lets anyone who can comment on a pull request hijack the CI test report comment that the reporter manages. Because findComment and upsertComment in packages/github/src/post.ts match a comment purely by the tool's predictable first-line marker and never verify who wrote it, an attacker can pre-seed a marker-bearing comment so results land in their own comment and edit failures into passes, or post a decoy that causes the genuine report to be suppressed. The flaw requires an authenticated, low-privileged GitHub user (PR:L) and that the CI workflow actually runs to update the report (UI:P), and impact is limited to the integrity of report comments - no code execution or secret exposure; no public exploit code was identified at time of analysis, and 0.4.1 fixes the issue by checking the comment author against the token's account.
RemediationAI
Upgrade @e2e-dev/github to 0.4.1 or later (vendor-released patch: 0.4.1), which is the release published at https://github.com/tester-army/e2e/releases/tag/%40e2e-dev%2Fgithub%400.4.1 and which introduces the author check from PR #1161 / commit ce4dac373784f87fade6808119ba537a0b4965fc; pin the dependency or the referenced action ref to that tag and re-run the workflow so existing marker-bearing comments are re-evaluated. Note that under GITHUB_TOKEN or GitHub App installation tokens the fix degrades to bot-only author matching (GET /user returns 403 'Resource not accessible by integration'), so any bot-authored comment remains a candidate - prefer a personal access token with /user read access in the reporter workflow if strict author binding matters, accepting the trade-off that PATs are longer-lived and broader-scoped than installation tokens. Where upgrading is not immediately possible, compensating controls are: restrict who may comment on pull requests (e.g., limit interaction to collaborators, or set interaction limits on public repositories), which reduces exposure but also curtails legitimate review discussion; run the reporter only on pull requests from trusted branches or on private repositories until patched; and treat published test-report comments as untrusted, cross-checking the reported status against the CI run logs rather than the comment body.
Affected VersionsENISA
Affected Packages
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
@e2e-dev/github is a TypeScript GitHub reporter inside the tester-army/e2e monorepo that publishes end-to-end test results as pull request comments through the GitHub REST API - listing an issue's comments, finding the one whose first line carries a fixed marker string, and updating it (creating one only when none exists). The root cause is CWE-863 (incorrect authorization): the lookup predicate in findComment validated only that the body started with the marker, never that comment['user'] matched the account the token posts as, so the marker alone acted as an unauthenticated selector for the record the tool would later overwrite. The upstream fix in PR #1161/commit ce4dac3 adds a tokenAuthor() helper that calls GET /user to resolve the token's login and filters candidate comments by author login (case-insensitive); for installation tokens such as GITHUB_TOKEN or a GitHub App token, which receive 403 'Resource not accessible by integration' from GET /user, it falls back to matching any author whose type is 'Bot', acknowledging in the changeset that under those tokens any bot account's comment matches.
Know when E2E Dev Github 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Network-reachable via PR comments (AV:N/AC:L); attacker needs an authenticated commenting account (PR:L); CI must run to post (UI:R); only CI-report integrity is affected (I:L), no confidentiality or availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
@e2e-dev/github before 0.4.1 contains an improper authorization vulnerability that allows pull request commenters to hijack CI test reports by posting comments with the predictable marker. Because findComment and upsertComment in post.ts never check the comment author, attackers can receive results in their own comment and edit failures to passes, or suppress genuine reports entirely.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
EUVD-2026-104928
GHSA-h2x8-9c73-2pwh
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB