Libevent is an event notification library. Prior to 2.1.13 and 2.2.2-alpha, libevent has a use-after-free in buffer.c when evbuffer_add_buffer_reference processes an output buffer whose out_total_len is zero. evbuffer_free_all_chains frees the initial empty chain without resetting outbuf->first, outbuf->last, or outbuf->last_with_datap, and APPEND_CHAIN_MULTICAST subsequently dereferences the dangling chain pointer. A caller that can drive this buffer state can cause memory corruption or a process crash. This issue is fixed in versions 2.1.13 and 2.2.2-alpha.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-908"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/63xxx/CVE-2026-63381.json"
}{
"extracted_events": [
{
"introduced": "2.2.0-alpha"
},
{
"fixed": "2.2.2-alpha"
},
{
"introduced": "0"
},
{
"fixed": "2.1.13"
}
],
"source": [
"AFFECTED_FIELD",
"REFERENCES"
]
}
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-63381.json"
[
{
"deprecated": false,
"digest": {
"function_hash": "159443554126248192493229143747497657830",
"length": 554
},
"id": "CVE-2026-63381-09212634",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/libevent/libevent/commit/df3ecad3a040fd6d4fad4287defe113395de6fd7",
"target": {
"file": "test/regress_http.c",
"function": "http_check_transfer_encoding_test"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"105678715192188160709520855612608486706",
"151283490904270762572312309386640940040",
"83461397285652447208958418655755277743",
"142837236412004261651148993320484336258",
"15987118943341410568314047996597972163",
"24377155224956095092769298328840568428",
"331749468313827334154743087866987491260"
],
"threshold": 0.9
},
"id": "CVE-2026-63381-0ba2dac6",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/libevent/libevent/commit/9db091b04f569be3a700fa9860ef02f90b830af9",
"target": {
"file": "test/regress_buffer.c"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"9615268734269462808469541219936445000",
"82724829605032451376073306411905357248",
"288037613782262970305669138843883230920",
"75154680587046303569609440082479999097"
],
"threshold": 0.9
},
"id": "CVE-2026-63381-16a20d46",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/libevent/libevent/commit/5cb95ba2f804f8aff46f88d58391c71e1251cd1c",
"target": {
"file": "buffer.c"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"105678715192188160709520855612608486706",
"151283490904270762572312309386640940040",
"83461397285652447208958418655755277743",
"87720941875676372913401481888278485640",
"239941351800049281984595058068342428110",
"24377155224956095092769298328840568428",
"331749468313827334154743087866987491260"
],
"threshold": 0.9
},
"id": "CVE-2026-63381-1f37dda6",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/libevent/libevent/commit/5cb95ba2f804f8aff46f88d58391c71e1251cd1c",
"target": {
"file": "test/regress_buffer.c"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"9615268734269462808469541219936445000",
"82724829605032451376073306411905357248",
"288037613782262970305669138843883230920",
"75154680587046303569609440082479999097"
],
"threshold": 0.9
},
"id": "CVE-2026-63381-340af901",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/libevent/libevent/commit/9db091b04f569be3a700fa9860ef02f90b830af9",
"target": {
"file": "buffer.c"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "125746571338556120751565663598148478168",
"length": 650
},
"id": "CVE-2026-63381-7824d339",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/libevent/libevent/commit/9db091b04f569be3a700fa9860ef02f90b830af9",
"target": {
"file": "buffer.c",
"function": "evbuffer_add_buffer_reference"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"270762094980121927552802584929566056086",
"37564212311334647331345684303177453724",
"168570413533780985513641597969239978857"
],
"threshold": 0.9
},
"id": "CVE-2026-63381-923050c6",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/libevent/libevent/commit/df3ecad3a040fd6d4fad4287defe113395de6fd7",
"target": {
"file": "test/regress_http.c"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"270762094980121927552802584929566056086",
"37564212311334647331345684303177453724",
"168570413533780985513641597969239978857"
],
"threshold": 0.9
},
"id": "CVE-2026-63381-979e5bed",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/libevent/libevent/commit/79ddfb460847999b807cba76d04e73891f29c6ee",
"target": {
"file": "test/regress_http.c"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "125746571338556120751565663598148478168",
"length": 650
},
"id": "CVE-2026-63381-c45a368c",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/libevent/libevent/commit/5cb95ba2f804f8aff46f88d58391c71e1251cd1c",
"target": {
"file": "buffer.c",
"function": "evbuffer_add_buffer_reference"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "159443554126248192493229143747497657830",
"length": 554
},
"id": "CVE-2026-63381-ebc5ab94",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/libevent/libevent/commit/79ddfb460847999b807cba76d04e73891f29c6ee",
"target": {
"file": "test/regress_http.c",
"function": "http_check_transfer_encoding_test"
}
}
]
"2026-09-11T08:36:41Z"