When an Expat parser with a registered ElementDeclHandler parses an inline document type definition containing a deeply nested content model a C stack overflow occurs.
"2026-04-11T03:13:12Z"
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-4224.json"
[
{
"target": {
"file": "Modules/pyexpat.c"
},
"signature_version": "v1",
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"188701065149302744903292699815939793812",
"225112604898349987932848100452221761889",
"315809415081504763774448517983428726485",
"234914540900971060388551978657761406688",
"334434387846354955252424964748103718253",
"92577595777153794298516478920240755603",
"220091315152752251870431644921983823692",
"64594070633644744458452436427253528782",
"317766121439223777877272278202999281929",
"207218985360249766238393458459053155997",
"332414183342212578807926701123345884195",
"109262523303062075784881971480718115622",
"185133554727397008437595184375700314015",
"241729027528270989764462123400629416761",
"87231708530024391086675116251100217789",
"304617511761474051284935710059506449414"
]
},
"id": "CVE-2026-4224-1145783a",
"source": "https://github.com/python/cpython/commit/196edfb06a7458377d4d0f4b3cd41724c1f3bd4a",
"signature_type": "Line"
},
{
"target": {
"file": "Modules/pyexpat.c"
},
"signature_version": "v1",
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"188701065149302744903292699815939793812",
"225112604898349987932848100452221761889",
"315809415081504763774448517983428726485",
"234914540900971060388551978657761406688",
"256181770944853825150391622812763691914",
"39371432675593491274749294336343520315",
"145357374662543992351282271062565055495",
"64594070633644744458452436427253528782",
"317766121439223777877272278202999281929",
"207218985360249766238393458459053155997",
"332414183342212578807926701123345884195",
"109262523303062075784881971480718115622",
"185133554727397008437595184375700314015",
"241729027528270989764462123400629416761",
"87231708530024391086675116251100217789",
"304617511761474051284935710059506449414"
]
},
"id": "CVE-2026-4224-53a4bf80",
"source": "https://github.com/python/cpython/commit/eb0e8be3a7e11b87d198a2c3af1ed0eccf532768",
"signature_type": "Line"
},
{
"target": {
"file": "Modules/pyexpat.c"
},
"signature_version": "v1",
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"188701065149302744903292699815939793812",
"225112604898349987932848100452221761889",
"315809415081504763774448517983428726485",
"234914540900971060388551978657761406688",
"256181770944853825150391622812763691914",
"39371432675593491274749294336343520315",
"145357374662543992351282271062565055495",
"64594070633644744458452436427253528782",
"317766121439223777877272278202999281929",
"207218985360249766238393458459053155997",
"332414183342212578807926701123345884195",
"109262523303062075784881971480718115622",
"185133554727397008437595184375700314015",
"241729027528270989764462123400629416761",
"87231708530024391086675116251100217789",
"304617511761474051284935710059506449414"
]
},
"id": "CVE-2026-4224-a989f4f9",
"source": "https://github.com/python/cpython/commit/e0a8a6da90597a924b300debe045cdb4628ee1f3",
"signature_type": "Line"
}
]