Description
react-native-bottom-tabs is a library of Native Bottom Tabs for React Native. In versions 0.9.2 and below, the github/workflows/release-canary.yml GitHub Actions repository workflow improperly used the pull_request_target event trigger, which allowed for untrusted code from a forked pull request to be executed in a privileged context. An attacker could create a pull request containing a malicious preinstall script in the package.json file and then trigger the vulnerable workflow by posting a specific comment (!canary). This allowed for arbitrary code execution, leading to the exfiltration of sensitive secrets such as GITHUB_TOKEN and NPM_TOKEN, and could have allowed an attacker to push malicious code to the repository or publish compromised packages to the NPM registry. There is a remediation commit which removes github/workflows/release-canary.yml, but a version with this fix has yet to be released.
EPSS Score:
0%
Comprehensive Technical Analysis of EUVD-2025-23669
1. Vulnerability Assessment and Severity Evaluation
The vulnerability identified in the EUVD entry EUVD-2025-23669 pertains to the react-native-bottom-tabs library, specifically affecting versions 0.9.2 and below. The issue arises from the improper use of the pull_request_target event trigger in the GitHub Actions workflow github/workflows/release-canary.yml. This misconfiguration allows untrusted code from a forked pull request to execute in a privileged context, leading to arbitrary code execution.
Severity Evaluation:
- CVSS Base Score: 9.1 (Critical)
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
The high base score indicates a critical vulnerability due to the potential for unauthorized access to sensitive information and the ability to execute arbitrary code. The attack vector is network-based (AV:N), requires low complexity (AC:L), and does not need user interaction (UI:N) or privileged access (PR:N). The impact on confidentiality and integrity is high (C:H/I:H), while the impact on availability is none (A:N).
2. Potential Attack Vectors and Exploitation Methods
Attack Vectors:
- Malicious Pull Request: An attacker can create a pull request containing a malicious
preinstallscript in thepackage.jsonfile. - Triggering Workflow: The attacker can then trigger the vulnerable workflow by posting a specific comment (
!canary) in the pull request.
Exploitation Methods:
- Arbitrary Code Execution: The malicious script can execute arbitrary code in the context of the GitHub Actions runner.
- Exfiltration of Secrets: The attacker can exfiltrate sensitive secrets such as
GITHUB_TOKENandNPM_TOKEN. - Code Injection: The attacker can push malicious code to the repository or publish compromised packages to the NPM registry.
3. Affected Systems and Software Versions
Affected Software:
react-native-bottom-tabslibrary versions 0.9.2 and below.
Affected Systems:
- Any system or application that uses the vulnerable versions of the
react-native-bottom-tabslibrary. - GitHub repositories that have enabled the
github/workflows/release-canary.ymlworkflow.
4. Recommended Mitigation Strategies
Immediate Mitigation:
- Remove Vulnerable Workflow: Immediately remove or disable the
github/workflows/release-canary.ymlworkflow from the repository. - Update Dependencies: Ensure that all dependencies are up-to-date and monitor for any updates to the
react-native-bottom-tabslibrary.
Long-Term Mitigation:
- Code Review: Implement strict code review processes for pull requests, especially those from forked repositories.
- Secure Workflows: Use secure GitHub Actions workflows that do not allow untrusted code execution.
- Secret Management: Use secure methods for managing and storing secrets, such as GitHub Secrets or environment variables.
5. Impact on European Cybersecurity Landscape
The vulnerability poses a significant risk to the European cybersecurity landscape, particularly for organizations and developers using the react-native-bottom-tabs library. The potential for arbitrary code execution and exfiltration of sensitive information can lead to data breaches, unauthorized access, and the distribution of malicious software. This underscores the importance of secure coding practices and the need for continuous monitoring and updating of dependencies.
6. Technical Details for Security Professionals
Vulnerability Details:
- Workflow Misconfiguration: The
pull_request_targetevent trigger in thegithub/workflows/release-canary.ymlworkflow allows untrusted code execution. - Malicious Script: The attacker can include a malicious
preinstallscript in thepackage.jsonfile to execute arbitrary code. - Trigger Mechanism: The workflow is triggered by posting a specific comment (
!canary) in the pull request.
Remediation Commit:
- A remediation commit (
9e1c9c61d742c435ac5e0901b7e0c9249b9fc70c) has been made to remove the vulnerable workflow, but a version with this fix has yet to be released.
References:
Aliases:
- CVE-2025-54594
Assigner:
- GitHub_M
ENISA IDs:
- Product:
react-native-bottom-tabs(versions ≤ 0.9.2) - Vendor:
callstackincubator
By addressing this vulnerability promptly and implementing robust security measures, organizations can mitigate the risks associated with this critical issue and enhance their overall cybersecurity posture.