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.
{
"availability": "No subscription required",
"binaries": [
{
"binary_version": "1:8.31-2ubuntu2.1",
"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"
}
]
}