Tencent RapidJSON is vulnerable to privilege escalation due to an integer underflow in the GenericReader::ParseNumber() function of include/rapidjson/reader.h when parsing JSON text from a stream. An attacker needs to send the victim a crafted file which needs to be opened; this triggers the integer underflow vulnerability (when the file is parsed), leading to elevation of privilege.
{
"cwe_ids": [
"CWE-191"
]
}[
{
"digest": {
"line_hashes": [
"288425774745012461561310139886002627747",
"307373623926445788135965508129048585816",
"98501279309038937940885271199100634471",
"38645439629479861165110068569379553885",
"187750517275957864491405977602767129232",
"97245315838875392425966686568726114009",
"179086695166975398278890479785796356422"
],
"threshold": 0.9
},
"id": "CVE-2024-38517-32ba92c7",
"target": {
"file": "include/rapidjson/reader.h"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://github.com/fmalita/rapidjson/commit/8269bc2bc289e9d343bae51cdf6d23ef0950e001",
"signature_type": "Line"
},
{
"digest": {
"line_hashes": [
"313877681585030834460092347888774627812",
"45814912363862486302300808256811283134",
"34241869063326660220492092946571623922",
"237248175434065046011101851845313123553"
],
"threshold": 0.9
},
"id": "CVE-2024-38517-346215dd",
"target": {
"file": "test/unittest/readertest.cpp"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://github.com/fmalita/rapidjson/commit/8269bc2bc289e9d343bae51cdf6d23ef0950e001",
"signature_type": "Line"
},
{
"digest": {
"function_hash": "243468763142092133153126455231348369043",
"length": 8625.0
},
"id": "CVE-2024-38517-44fce472",
"target": {
"function": "TestParseDouble",
"file": "test/unittest/readertest.cpp"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://github.com/fmalita/rapidjson/commit/8269bc2bc289e9d343bae51cdf6d23ef0950e001",
"signature_type": "Function"
}
]