PCRE2 before 10.48 allows a pcre2_dfa_match out-of-bounds write because reuse of a cached workspace block, in a recursive DFA matching workspace, lacks a size check (even though a newly allocated block, for the same purpose, does have a size check). This outcome requires an attacker-controlled regular expression, or a recursive pattern in conjunction with a small heap limit (this can be set through the API).
{
"availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro",
"binaries": [
{
"binary_name": "libpcre2-16-0",
"binary_version": "10.34-7ubuntu0.1+esm1"
},
{
"binary_name": "libpcre2-32-0",
"binary_version": "10.34-7ubuntu0.1+esm1"
},
{
"binary_name": "libpcre2-8-0",
"binary_version": "10.34-7ubuntu0.1+esm1"
},
{
"binary_name": "libpcre2-posix2",
"binary_version": "10.34-7ubuntu0.1+esm1"
},
{
"binary_name": "pcre2-utils",
"binary_version": "10.34-7ubuntu0.1+esm1"
}
]
}
{
"availability": "No subscription required",
"binaries": [
{
"binary_name": "libpcre2-16-0",
"binary_version": "10.39-3ubuntu0.2"
},
{
"binary_name": "libpcre2-32-0",
"binary_version": "10.39-3ubuntu0.2"
},
{
"binary_name": "libpcre2-8-0",
"binary_version": "10.39-3ubuntu0.2"
},
{
"binary_name": "libpcre2-posix3",
"binary_version": "10.39-3ubuntu0.2"
},
{
"binary_name": "pcre2-utils",
"binary_version": "10.39-3ubuntu0.2"
}
]
}
{
"availability": "No subscription required",
"binaries": [
{
"binary_name": "libpcre2-16-0",
"binary_version": "10.42-4ubuntu2.2"
},
{
"binary_name": "libpcre2-32-0",
"binary_version": "10.42-4ubuntu2.2"
},
{
"binary_name": "libpcre2-8-0",
"binary_version": "10.42-4ubuntu2.2"
},
{
"binary_name": "libpcre2-posix3",
"binary_version": "10.42-4ubuntu2.2"
},
{
"binary_name": "pcre2-utils",
"binary_version": "10.42-4ubuntu2.2"
}
]
}
{
"availability": "No subscription required",
"binaries": [
{
"binary_name": "libpcre2-16-0",
"binary_version": "10.46-1ubuntu1"
},
{
"binary_name": "libpcre2-32-0",
"binary_version": "10.46-1ubuntu1"
},
{
"binary_name": "libpcre2-8-0",
"binary_version": "10.46-1ubuntu1"
},
{
"binary_name": "libpcre2-posix3",
"binary_version": "10.46-1ubuntu1"
},
{
"binary_name": "pcre2-utils",
"binary_version": "10.46-1ubuntu1"
}
]
}
{
"availability": "No subscription required",
"binaries": [
{
"binary_name": "libpcre2-16-0",
"binary_version": "10.46-1ubuntu0.1"
},
{
"binary_name": "libpcre2-32-0",
"binary_version": "10.46-1ubuntu0.1"
},
{
"binary_name": "libpcre2-8-0",
"binary_version": "10.46-1ubuntu0.1"
},
{
"binary_name": "libpcre2-posix3",
"binary_version": "10.46-1ubuntu0.1"
},
{
"binary_name": "pcre2-utils",
"binary_version": "10.46-1ubuntu0.1"
}
]
}