PCRE before 8.38 mishandles the /(?=di(?<=(?1))|(?=(.))))/ pattern and related patterns with an unmatched closing parenthesis, which allows remote attackers to cause a denial of service (buffer overflow) or possibly have unspecified other impact via a crafted regular expression, as demonstrated by a JavaScript RegExp object encountered by Konqueror.
{
"binaries": [
{
"binary_name": "libpcre3",
"binary_version": "1:8.31-2ubuntu2.1"
},
{
"binary_name": "libpcre3-dev",
"binary_version": "1:8.31-2ubuntu2.1"
},
{
"binary_name": "libpcrecpp0",
"binary_version": "1:8.31-2ubuntu2.1"
},
{
"binary_name": "pcregrep",
"binary_version": "1:8.31-2ubuntu2.1"
}
],
"availability": "No subscription required"
}