CVE-2024-35221
Rubygems.org is the Ruby community's gem hosting service. A Gem publisher can cause a Remote DoS when publishing a Gem. This is due to how Ruby reads the Manifest of Gem files when using Gem::Specification.from_yaml. from_yaml makes use of SafeYAML.load which allows YAML aliases inside the YAML-based metadata of a gem. YAML aliases allow for Denial of Service attacks with so-called `YAML-bombs` (comparable to Billion laughs attacks). This was patched. There is is no action required by users. This issue is also tracked as GHSL-2024-001 and was discovered by the GitHub security lab.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
- Puntuación base: 4.3
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.49%
- Percentil entre todas las CVEs puntuadas: 40
- Fecha de la puntuación: 6/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Tecnologías afectadas (2)
⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.
CWE
- CWE-400
Referencias
- https://en.wikipedia.org/wiki/Billion_laughs_attack
- https://github.com/ruby/ruby/blob/7cf74a2ff28b1b4c26e367d0d67521f7e1fed239/lib/rubygems/safe_yaml.rb#L28
- https://github.com/rubygems/rubygems.org/security/advisories/GHSA-4vc5-whwr-7hh2
- https://en.wikipedia.org/wiki/Billion_laughs_attack
- https://github.com/ruby/ruby/blob/7cf74a2ff28b1b4c26e367d0d67521f7e1fed239/lib/rubygems/safe_yaml.rb#L28
- https://github.com/rubygems/rubygems.org/security/advisories/GHSA-4vc5-whwr-7hh2
JSON original (NVD)
Mostrar
{
"id": "CVE-2024-35221",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2024-35221",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2024-06-06T18:59:20.588645Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 4.3,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L",
"integrityImpact": "NONE",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "LOW",
"privilegesRequired": "LOW",
"confidentialityImpact": "NONE"
},
"impactScore": 1.4,
"exploitabilityScore": 2.8
}
]
},
"affected": [
{
"source": "security-advisories@github.com",
"affectedData": [
{
"vendor": "rubygems",
"product": "rubygems.org",
"versions": [
{
"status": "affected",
"version": "< 2024-04-12"
}
]
}
]
}
],
"published": "2024-05-29T21:15:49.017",
"references": [
{
"url": "https://en.wikipedia.org/wiki/Billion_laughs_attack",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/ruby/ruby/blob/7cf74a2ff28b1b4c26e367d0d67521f7e1fed239/lib/rubygems/safe_yaml.rb#L28",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/rubygems/rubygems.org/security/advisories/GHSA-4vc5-whwr-7hh2",
"source": "security-advisories@github.com"
},
{
"url": "https://en.wikipedia.org/wiki/Billion_laughs_attack",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/ruby/ruby/blob/7cf74a2ff28b1b4c26e367d0d67521f7e1fed239/lib/rubygems/safe_yaml.rb#L28",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/rubygems/rubygems.org/security/advisories/GHSA-4vc5-whwr-7hh2",
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Deferred",
"weaknesses": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"description": [
{
"lang": "en",
"value": "CWE-400"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Rubygems.org is the Ruby community's gem hosting service. A Gem publisher can cause a Remote DoS when publishing a Gem. This is due to how Ruby reads the Manifest of Gem files when using Gem::Specification.from_yaml. from_yaml makes use of SafeYAML.load which allows YAML aliases inside the YAML-based metadata of a gem. YAML aliases allow for Denial of Service attacks with so-called `YAML-bombs` (comparable to Billion laughs attacks). This was patched. There is is no action required by users. This issue is also tracked as GHSL-2024-001 and was discovered by the GitHub security lab."
},
{
"lang": "es",
"value": "Rubygems.org es el servicio de alojamiento de gemas de la comunidad Ruby. Un editor de gemas puede provocar un DoS remoto al publicar una gema. Esto se debe a cómo Ruby lee los archivos Manifiesto de Gem cuando usa Gem::Specification.from_yaml. from_yaml utiliza SafeYAML.load, que permite alias YAML dentro de los metadatos basados en YAML de una gema. Los alias YAML permiten ataques de denegación de servicio con las llamadas \"bombas YAML\" (comparables a los ataques de mil millones de risas). Esto fue parcheado. No se requiere ninguna acción por parte de los usuarios. Este problema también se rastrea como GHSL-2024-001 y fue descubierto por el laboratorio de seguridad de GitHub."
}
],
"lastModified": "2026-06-17T07:34:34.257",
"sourceIdentifier": "security-advisories@github.com"
}