Skip to main content

@e2e-dev/github EUVDEUVD-2026-104928

| CVE-2026-113357 MEDIUM
Incorrect Authorization (CWE-863)
2026-10-20 VulnCheck GHSA-h2x8-9c73-2pwh
5.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain pull request commenter access
  2. Exploit
    Post comment with predictable report marker
  3. Execution
    Reporter matches comment ignoring author
  4. Impact
    Edit 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

@e2e-dev/github 0 <0.4.1

Affected Packages

euvd e2e_dev_github fix: 0.4.1

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

Vendor (VulnCheck) PRIMARY 5.1 MEDIUM
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
vuln.today AI 3.5 LOW

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.

3.1 AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Low
niche npm E2E-testing CI reporter package, limited deployment footprint
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy