CVE-2025-49013
Published: 09 June 2025
Summary
CVE-2025-49013 is a critical-severity Code Injection (CWE-94) vulnerability in Github (inferred from references). Its CVSS base score is 9.9 (Critical).
Operationally, ranked in the top 18.3% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.
Deeper analysis
CVE-2025-49013 is a critical code injection vulnerability affecting multiple repositories under the WilderForge organization, including WilderForge/WilderForge, WilderForge/ExampleMod, WilderForge/WilderWorkspace, WilderForge/WildermythGameProvider, WilderForge/AutoSplitter, WilderForge/SpASM, WilderForge/thrixlvault, WilderForge/MassHash, and WilderForge/DLC_Disabler. The root cause is unsafe interpolation of untrusted inputs such as `${{ github.event.review.body }}` and similar GitHub context variables directly into shell script steps within GitHub Actions workflows, which permits arbitrary command execution when those values are processed by the runner.
An authenticated contributor can exploit the flaw by submitting a crafted pull request review containing shell metacharacters or commands. Successful injection grants the attacker arbitrary command execution on the GitHub Actions runner with the workflow’s permissions, enabling theft of repository secrets, tampering with build artifacts, or further compromise of the CI infrastructure. Only developers maintaining or forking the listed repositories and reusing the affected workflows are impacted; end users of pre-built releases are unaffected.
Public references, including the GitHub Security Advisory and official hardening documentation, recommend disabling GitHub Actions or removing the vulnerable workflow files as immediate workarounds while emphasizing the need to avoid direct use of untrusted event data in shell contexts. The associated EPSS score has remained flat at 0.0153 with no material increase since disclosure.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2025-17466
Vulnerability details
WilderForge is a Wildermyth coremodding API. A critical vulnerability has been identified in multiple projects across the WilderForge organization. The issue arises from unsafe usage of `${{ github.event.review.body }}` and other user controlled variables directly inside shell script contexts in…
more
GitHub Actions workflows. This introduces a code injection vulnerability: a malicious actor submitting a crafted pull request review containing shell metacharacters or commands could execute arbitrary shell code on the GitHub Actions runner. This can lead to arbitrary command execution with the permissions of the workflow, potentially compromising CI infrastructure, secrets, and build outputs. Developers who maintain or contribute to the repos WilderForge/WilderForge, WilderForge/ExampleMod, WilderForge/WilderWorkspace, WilderForge/WildermythGameProvider, WilderForge/AutoSplitter, WilderForge/SpASM, WilderForge/thrixlvault, WilderForge/MassHash, and/or WilderForge/DLC_Disabler; as well as users who fork any of the above repositories and reuse affected GitHub Actions workflows, are affected. End users of any the above software and users who only install pre-built releases or artifacts are not affected. This vulnerability does not impact runtime behavior of the software or compiled outputs unless those outputs were produced during exploitation of this vulnerability. A current workaround is to disable GitHub Actions in affected repositories, or remove the affected workflows.
- CWE(s)
Related Threats
No named actor attribution yet. ATT&CK technique mapping in progress for this CVE.
Affected Assets
Mitigating Controls
Likely Mitigating Controls AI
Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.
Makes persistent code injection into loaded programs impossible when the executable image itself resides on hardware-protected read-only media.
Dynamically generated code can be produced and executed inside the isolated chamber, preventing host compromise from code-injection payloads.
Validates inputs used in dynamic code generation to block injected directives.
Validating that output matches expected content directly mitigates failures to properly encode or escape data for its destination context.
Directly prevents execution of attacker-supplied code written into data memory regions.