CVE-2024-39908 (GCVE-0-2024-39908)
Vulnerability from cvelistv5 – Published: 2024-07-16 17:28 – Updated: 2025-11-03 20:38
VLAI
EPSS
VEX
Title
Denial of service in REXML
Summary
REXML is an XML toolkit for Ruby. The REXML gem before 3.3.1 has some DoS vulnerabilities when it parses an XML that has many specific characters such as `<`, `0` and `%>`. If you need to parse untrusted XMLs, you many be impacted to these vulnerabilities. The REXML gem 3.3.2 or later include the patches to fix these vulnerabilities. Users are advised to upgrade. Users unable to upgrade should avoid parsing untrusted XML strings.
Severity
4.3 (Medium)
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator (v2.0.3)
CWE
- CWE-400 - Uncontrolled Resource Consumption
Assigner
References
4 references
Impacted products
{
"containers": {
"adp": [
{
"affected": [
{
"cpes": [
"cpe:2.3:a:ruby-lang:rexml:*:*:*:*:*:ruby:*:*"
],
"defaultStatus": "unknown",
"product": "rexml",
"vendor": "ruby-lang",
"versions": [
{
"lessThan": "3.3.2",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"metrics": [
{
"other": {
"content": {
"id": "CVE-2024-39908",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2024-07-16T17:58:11.892191Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2024-08-01T15:47:24.545Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
},
{
"providerMetadata": {
"dateUpdated": "2025-11-03T20:38:21.548Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"name": "https://github.com/ruby/rexml/security/advisories/GHSA-4xqq-m2hx-25v8",
"tags": [
"x_refsource_CONFIRM",
"x_transferred"
],
"url": "https://github.com/ruby/rexml/security/advisories/GHSA-4xqq-m2hx-25v8"
},
{
"name": "https://www.ruby-lang.org/en/news/2024/07/16/dos-rexml-cve-2024-39908",
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://www.ruby-lang.org/en/news/2024/07/16/dos-rexml-cve-2024-39908"
},
{
"url": "https://security.netapp.com/advisory/ntap-20250117-0008/"
},
{
"url": "https://lists.debian.org/debian-lts-announce/2025/01/msg00011.html"
}
],
"title": "CVE Program Container"
}
],
"cna": {
"affected": [
{
"product": "rexml",
"vendor": "ruby",
"versions": [
{
"status": "affected",
"version": "\u003c 3.3.2"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": " REXML is an XML toolkit for Ruby. The REXML gem before 3.3.1 has some DoS vulnerabilities when it parses an XML that has many specific characters such as `\u003c`, `0` and `%\u003e`. If you need to parse untrusted XMLs, you many be impacted to these vulnerabilities. The REXML gem 3.3.2 or later include the patches to fix these vulnerabilities. Users are advised to upgrade. Users unable to upgrade should avoid parsing untrusted XML strings."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "LOW",
"baseScore": 4.3,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-400",
"description": "CWE-400: Uncontrolled Resource Consumption",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2024-07-16T17:28:07.372Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/ruby/rexml/security/advisories/GHSA-4xqq-m2hx-25v8",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/ruby/rexml/security/advisories/GHSA-4xqq-m2hx-25v8"
},
{
"name": "https://www.ruby-lang.org/en/news/2024/07/16/dos-rexml-cve-2024-39908",
"tags": [
"x_refsource_MISC"
],
"url": "https://www.ruby-lang.org/en/news/2024/07/16/dos-rexml-cve-2024-39908"
}
],
"source": {
"advisory": "GHSA-4xqq-m2hx-25v8",
"discovery": "UNKNOWN"
},
"title": "Denial of service in REXML"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2024-39908",
"datePublished": "2024-07-16T17:28:07.372Z",
"dateReserved": "2024-07-02T19:37:18.600Z",
"dateUpdated": "2025-11-03T20:38:21.548Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2024-39908",
"date": "2026-07-21",
"epss": "0.01493",
"percentile": "0.71333"
},
"microsoft_vex": {
"current_release_date": "2026-02-18T01:55:05.000Z",
"cve": "CVE-2024-39908",
"id": "msrc_CVE-2024-39908",
"initial_release_date": "2024-07-01T07:00:00.000Z",
"product_status:fixed": "6",
"product_status:known_affected": "6",
"source": "Microsoft CSAF VEX",
"status": "final",
"title": "Denial of service in REXML",
"url": "https://msrc.microsoft.com/csaf/vex/2024/msrc_cve-2024-39908.json",
"version": "5"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2024-39908\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2024-07-16T18:15:08.167\",\"lastModified\":\"2026-06-17T07:43:00.317\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\" REXML is an XML toolkit for Ruby. The REXML gem before 3.3.1 has some DoS vulnerabilities when it parses an XML that has many specific characters such as `\u003c`, `0` and `%\u003e`. If you need to parse untrusted XMLs, you many be impacted to these vulnerabilities. The REXML gem 3.3.2 or later include the patches to fix these vulnerabilities. Users are advised to upgrade. Users unable to upgrade should avoid parsing untrusted XML strings.\"},{\"lang\":\"es\",\"value\":\"REXML es un conjunto de herramientas XML para Ruby. La gema REXML anterior a 3.3.1 tiene algunas vulnerabilidades DoS cuando analiza un XML que tiene muchos caracteres espec\u00edficos como `\u0026lt;`, `0` y `%\u0026gt;`. Si necesita analizar archivos XML que no son de confianza, es posible que se vea afectado por estas vulnerabilidades. La gema REXML 3.3.2 o posterior incluye los parches para corregir estas vulnerabilidades. Se recomienda a los usuarios que actualicen. Los usuarios que no puedan actualizar deben evitar analizar cadenas XML que no sean de confianza.\"}],\"affected\":[{\"source\":\"security-advisories@github.com\",\"affectedData\":[{\"vendor\":\"ruby\",\"product\":\"rexml\",\"versions\":[{\"version\":\"\u003c 3.3.2\",\"status\":\"affected\"}]}]},{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"affectedData\":[{\"vendor\":\"ruby-lang\",\"product\":\"rexml\",\"defaultStatus\":\"unknown\",\"cpes\":[\"cpe:2.3:a:ruby-lang:rexml:*:*:*:*:*:ruby:*:*\"],\"versions\":[{\"version\":\"0\",\"lessThan\":\"3.3.2\",\"versionType\":\"custom\",\"status\":\"affected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L\",\"baseScore\":4.3,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"REQUIRED\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"LOW\"},\"exploitabilityScore\":2.8,\"impactScore\":1.4}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2024-07-16T17:58:11.892191Z\",\"id\":\"CVE-2024-39908\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-400\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:ruby-lang:rexml:*:*:*:*:*:ruby:*:*\",\"versionEndExcluding\":\"3.3.2\",\"matchCriteriaId\":\"60BE1AEB-FB46-4140-87BF-F8B6D5B0A748\"}]}]},{\"operator\":\"AND\",\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:netapp:bootstrap_os:-:*:*:*:*:*:*:*\",\"matchCriteriaId\":\"95BA156C-C977-4F0C-8DFB-3FAE9CC8C02D\"}]},{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":false,\"criteria\":\"cpe:2.3:h:netapp:hci_compute_node:-:*:*:*:*:*:*:*\",\"matchCriteriaId\":\"AD7447BC-F315-4298-A822-549942FC118B\"}]}]}],\"references\":[{\"url\":\"https://github.com/ruby/rexml/security/advisories/GHSA-4xqq-m2hx-25v8\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Vendor Advisory\"]},{\"url\":\"https://www.ruby-lang.org/en/news/2024/07/16/dos-rexml-cve-2024-39908\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Vendor Advisory\"]},{\"url\":\"https://github.com/ruby/rexml/security/advisories/GHSA-4xqq-m2hx-25v8\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Vendor Advisory\"]},{\"url\":\"https://lists.debian.org/debian-lts-announce/2025/01/msg00011.html\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://security.netapp.com/advisory/ntap-20250117-0008/\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Third Party Advisory\"]},{\"url\":\"https://www.ruby-lang.org/en/news/2024/07/16/dos-rexml-cve-2024-39908\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Vendor Advisory\"]}]}}",
"redhat_vex": {
"aggregate_severity": "Moderate",
"current_release_date": "2026-03-03T04:43:02+00:00",
"cve": "CVE-2024-39908",
"id": "CVE-2024-39908",
"initial_release_date": "2024-07-16T06:00:00+00:00",
"product_status:fixed": "558",
"product_status:known_affected": "80",
"product_status:known_not_affected": "49",
"source": "Red Hat CSAF VEX",
"status": "final",
"title": "rexml: DoS vulnerability in REXML",
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2024/cve-2024-39908.json",
"version": "3"
},
"vulnrichment": {
"containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://github.com/ruby/rexml/security/advisories/GHSA-4xqq-m2hx-25v8\", \"name\": \"https://github.com/ruby/rexml/security/advisories/GHSA-4xqq-m2hx-25v8\", \"tags\": [\"x_refsource_CONFIRM\", \"x_transferred\"]}, {\"url\": \"https://www.ruby-lang.org/en/news/2024/07/16/dos-rexml-cve-2024-39908\", \"name\": \"https://www.ruby-lang.org/en/news/2024/07/16/dos-rexml-cve-2024-39908\", \"tags\": [\"x_refsource_MISC\", \"x_transferred\"]}, {\"url\": \"https://security.netapp.com/advisory/ntap-20250117-0008/\"}, {\"url\": \"https://lists.debian.org/debian-lts-announce/2025/01/msg00011.html\"}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2025-11-03T20:38:21.548Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-39908\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-07-16T17:58:11.892191Z\"}}}], \"affected\": [{\"cpes\": [\"cpe:2.3:a:ruby-lang:rexml:*:*:*:*:*:ruby:*:*\"], \"vendor\": \"ruby-lang\", \"product\": \"rexml\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"3.3.2\", \"versionType\": \"custom\"}], \"defaultStatus\": \"unknown\"}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-07-16T18:03:50.381Z\"}}], \"cna\": {\"title\": \"Denial of service in REXML\", \"source\": {\"advisory\": \"GHSA-4xqq-m2hx-25v8\", \"discovery\": \"UNKNOWN\"}, \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 4.3, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"MEDIUM\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L\", \"integrityImpact\": \"NONE\", \"userInteraction\": \"REQUIRED\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"LOW\", \"privilegesRequired\": \"NONE\", \"confidentialityImpact\": \"NONE\"}}], \"affected\": [{\"vendor\": \"ruby\", \"product\": \"rexml\", \"versions\": [{\"status\": \"affected\", \"version\": \"\u003c 3.3.2\"}]}], \"references\": [{\"url\": \"https://github.com/ruby/rexml/security/advisories/GHSA-4xqq-m2hx-25v8\", \"name\": \"https://github.com/ruby/rexml/security/advisories/GHSA-4xqq-m2hx-25v8\", \"tags\": [\"x_refsource_CONFIRM\"]}, {\"url\": \"https://www.ruby-lang.org/en/news/2024/07/16/dos-rexml-cve-2024-39908\", \"name\": \"https://www.ruby-lang.org/en/news/2024/07/16/dos-rexml-cve-2024-39908\", \"tags\": [\"x_refsource_MISC\"]}], \"descriptions\": [{\"lang\": \"en\", \"value\": \" REXML is an XML toolkit for Ruby. The REXML gem before 3.3.1 has some DoS vulnerabilities when it parses an XML that has many specific characters such as `\u003c`, `0` and `%\u003e`. If you need to parse untrusted XMLs, you many be impacted to these vulnerabilities. The REXML gem 3.3.2 or later include the patches to fix these vulnerabilities. Users are advised to upgrade. Users unable to upgrade should avoid parsing untrusted XML strings.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-400\", \"description\": \"CWE-400: Uncontrolled Resource Consumption\"}]}], \"providerMetadata\": {\"orgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"shortName\": \"GitHub_M\", \"dateUpdated\": \"2024-07-16T17:28:07.372Z\"}}}",
"cveMetadata": "{\"cveId\": \"CVE-2024-39908\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2025-11-03T20:38:21.548Z\", \"dateReserved\": \"2024-07-02T19:37:18.600Z\", \"assignerOrgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"datePublished\": \"2024-07-16T17:28:07.372Z\", \"assignerShortName\": \"GitHub_M\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…