What’s Vulnerable › Vulnerabilities
CVE-2024-47180: Shields.io Remote Code Execution vulnerability in Dynamic JSON/TOML/YAML badges
- Severity: high (CVSS 8.8 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 1.0% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2024-09-26 · updated 2026-06-17
- Weakness: CWE-74
Description
Shields.io is a service for concise, consistent, and legible badges in SVG and raster format. Shields.io and users self-hosting their own instance of shields using version < `server-2024-09-25` are vulnerable to a remote execution vulnerability via the JSONPath library used by the Dynamic JSON/Toml/Yaml badges. This vulnerability would allow any user with access to make a request to a URL on the instance to the ability to execute code by crafting a malicious JSONPath expression. All users who self-host an instance are vulnerable. This problem was fixed in server-2024-09-25. Those who follow the tagged releases should update to `server-2024-09-25` or later. Those who follow the rolling tag on DockerHub, `docker pull shieldsio/shields:next` to update to the latest version. As a workaround, blocking access to the endpoints `/badge/dynamic/json`, `/badge/dynamic/toml`, and `/badge/dynamic/yaml` (e.g: via a firewall or reverse proxy in front of your instance) would prevent the exploitable endpoints from being accessed.
Affected products
- badges shields: before server-2024-09-25 — fixed in server-2024-09-25
How to fix
Upgrade to a fixed version: badges shields server-2024-09-25. Check the vendor advisory for mitigations.
References
- https://github.com/badges/shields/commit/ec1b6c8daccda075403c1688ac02603f7aaa50b2
- https://github.com/badges/shields/issues/10553
- https://github.com/badges/shields/pull/10551
- https://github.com/badges/shields/security/advisories/GHSA-rxvx-x284-4445
Get alerted when CVE-2024-47180 or the next vulnerability affects your stack