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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-74"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/47xxx/CVE-2024-47180.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "server-2024-09-25"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "ec1b6c8daccda075403c1688ac02603f7aaa50b2"
}
],
"source": "REFERENCES_COMMIT"
}
]
}