{"id":"CVE-2024-47180","state":"PUBLISHED","title":"Shields.io Remote Code Execution vulnerability in Dynamic JSON/TOML/YAML badges","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.","publishedAt":"2024-09-26T19:21:04.584Z","updatedAt":"2024-09-26T19:47:50.375Z","severity":{"score":8.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"GitHub_M"},"assigner":"GitHub_M","products":["badges shields"],"affected":[{"vendor":"badges","product":"shields","versions":[{"version":"< server-2024-09-25","status":"affected"}]}],"references":["https://github.com/badges/shields/security/advisories/GHSA-rxvx-x284-4445","https://github.com/badges/shields/issues/10553","https://github.com/badges/shields/pull/10551","https://github.com/badges/shields/commit/ec1b6c8daccda075403c1688ac02603f7aaa50b2"],"weaknesses":["CWE-74"],"ingestedAt":"2026-10-29T20:07:56.516Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/47xxx/CVE-2024-47180.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2024-47180","state":"PUBLISHED","datePublished":"2024-09-26T19:21:04.584Z","dateUpdated":"2024-09-26T19:47:50.375Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2024-09-19T22:32:11.962Z"},"containers":{"cna":{"title":"Shields.io Remote Code Execution vulnerability in Dynamic JSON/TOML/YAML badges","descriptions":[{"lang":"en","value":"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":[{"vendor":"badges","product":"shields","versions":[{"version":"< server-2024-09-25","status":"affected"}]}],"references":[{"url":"https://github.com/badges/shields/security/advisories/GHSA-rxvx-x284-4445","name":"https://github.com/badges/shields/security/advisories/GHSA-rxvx-x284-4445","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/badges/shields/issues/10553","name":"https://github.com/badges/shields/issues/10553","tags":["x_refsource_MISC"]},{"url":"https://github.com/badges/shields/pull/10551","name":"https://github.com/badges/shields/pull/10551","tags":["x_refsource_MISC"]},{"url":"https://github.com/badges/shields/commit/ec1b6c8daccda075403c1688ac02603f7aaa50b2","name":"https://github.com/badges/shields/commit/ec1b6c8daccda075403c1688ac02603f7aaa50b2","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":8.8,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-74","lang":"en","description":"CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2024-09-26T19:21:04.584Z"},"source":{"advisory":"GHSA-rxvx-x284-4445","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","affected":[{"vendor":"badges","product":"shields","defaultStatus":"unknown","versions":[{"version":"0","status":"affected","lessThan":"server-2024-09-25","versionType":"custom"}],"cpes":["cpe:2.3:a:badges:shields:*:*:*:*:*:*:*:*"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2024-09-26T19:45:53.317118Z","id":"CVE-2024-47180","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-09-26T19:47:50.375Z"}}]}}}