Perl versions before 5.40.5-RC1, from 5.41.0 before 5.42.3-RC1, from 5.43.0 before 5.43.11 have a heap buffer overflow when compiling regular expressions with a repeated fixed string on 32-bit builds.
Perl_study_chunk in regcomp_study.c checked the size of the joined substring buffer in characters rather than bytes. For a quantified fixed substring with a large minimum count, the byte length mincount * l could overflow SSize_t, producing an undersized SvGROW allocation; the subsequent copy writes past the end of the buffer.
A caller that compiles an attacker-controlled regular expression on a 32-bit perl build triggers a heap buffer overflow at compile time.
{
"cna_assigner": "CPANSec",
"cwe_ids": [
"CWE-680"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/8xxx/CVE-2026-8376.json"
}{
"cpe": "cpe:2.3:a:perl:perl:*:*:*:*:*:*:*:*",
"extracted_events": [
{
"introduced": "0"
},
{
"last_affected": "5.43.10"
}
],
"source": [
"CPE_RANGE",
"REFERENCES"
]
}
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-8376.json"
[
{
"deprecated": false,
"digest": {
"line_hashes": [
"9044274273817096257826340016907433463",
"10824497922658380334050930273948771395",
"22606885329989943457972533494694044144",
"245540066980495066395013891761984069220"
],
"threshold": 0.9
},
"id": "CVE-2026-8376-595191c9",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/perl/perl5/commit/5e7f119eb2bb1181be908701f22bf7068e722f1c",
"target": {
"file": "regcomp_study.c"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "108310289957967335225355739344715828892",
"length": 42758
},
"id": "CVE-2026-8376-642f39d4",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/perl/perl5/commit/5e7f119eb2bb1181be908701f22bf7068e722f1c",
"target": {
"file": "regcomp_study.c",
"function": "Perl_study_chunk"
}
}
]
"2026-09-10T08:25:28Z"