The compilebranch function in pcrecompile.c in PCRE 8.x before 8.39 and pcre2_compile.c in PCRE2 before 10.22 mishandles patterns containing an (*ACCEPT) substring in conjunction with nested parentheses, which allows remote attackers to execute arbitrary code or cause a denial of service (stack-based buffer overflow) via a crafted regular expression, as demonstrated by a JavaScript RegExp object encountered by Konqueror, aka ZDI-CAN-3542.
{
"availability": "No subscription required",
"binaries": [
{
"binary_version": "1:8.31-2ubuntu2.2",
"binary_name": "libpcre3"
},
{
"binary_version": "1:8.31-2ubuntu2.2",
"binary_name": "libpcre3-dev"
},
{
"binary_version": "1:8.31-2ubuntu2.2",
"binary_name": "libpcrecpp0"
},
{
"binary_version": "1:8.31-2ubuntu2.2",
"binary_name": "pcregrep"
}
]
}