CVE-2024-3924 Code Injection in huggingface/text-generation-inference
Attackers can execute arbitrary code on GitHub Actions runners by injecting malicious payloads into branch names via pull requests.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2024-3924?
CVE-2024-3924 is a medium-severity code injection vulnerability in huggingface/text-generation-inference, published on 30 May 2024. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Official description
A code injection vulnerability exists in the huggingface/text-generation-inference repository, specifically within the `autodocs.yml` workflow file. The vulnerability arises from the insecure handling of the `github.head_ref` user input, which is used to dynamically construct a command for installing a software package. An attacker can exploit this by forking the repository, creating a branch with a malicious payload as the name, and then opening a pull request to the base repository. Successful exploitation could lead to arbitrary code execution within the context of the GitHub Actions runner. This issue affects versions up to and including v2.0.0 and was fixed in version 2.0.0.
Weakness: CWE-94
Which versions are affected by CVE-2024-3924?
3 open source packages ship an affected version, including text-generation.
| Package | Affected | Fixed in |
|---|---|---|
text-generation PyPI | All versions | 2.0.0 |
text-generation PyPI | All versions | 2.0.0 |
text-generation PyPI | All versions | 2.0.0 |
How do I fix CVE-2024-3924?
Upgrade text-generation to 2.0.0 or later.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2024-3924 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-3924 exists.
Sources
Also known as GHSA-qq99-p57r-g3v7, PYSEC-2026-1966.