libjpeg 1.63 has a heap-based buffer over-read in HierarchicalBitmapRequester::FetchRegion in hierarchicalbitmaprequester.cpp because the MCU size can be different between allocation and use.
[
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "1.63"
}
]
}
]
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-31796.json"
"2026-04-12T02:56:58Z"
[
{
"digest": {
"length": 967.0,
"function_hash": "119444156195613824511099033342764519263"
},
"deprecated": false,
"signature_type": "Function",
"id": "CVE-2022-31796-8bccecfc",
"signature_version": "v1",
"source": "https://github.com/thorfdbg/libjpeg/commit/187035b9726710b4fe11d565c7808975c930895d",
"target": {
"function": "HierarchicalBitmapRequester::PrepareForDecoding",
"file": "control/hierarchicalbitmaprequester.cpp"
}
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"275194022272869071068134012543535481483",
"268265372830608522807979456787937917286",
"262621107754778797773294723602385097369",
"294690950030755224121112201988537691422"
]
},
"deprecated": false,
"signature_type": "Line",
"id": "CVE-2022-31796-a8404c91",
"signature_version": "v1",
"source": "https://github.com/thorfdbg/libjpeg/commit/187035b9726710b4fe11d565c7808975c930895d",
"target": {
"file": "control/hierarchicalbitmaprequester.cpp"
}
}
]