CVE-2020-10878
perl: corruption of intermediate language state of compiled regular expression due to integer overflow leads to DoS
Severity
ModerateRed Hat Product Security
CVSS 3.1
Review impact separately from score.
Published · June 2, 2020
Updated · April 21, 2026
Description
Perl before 5.30.3 has an integer overflow related to mishandling of a "PL_regkind[OP(n)] == NOTHING" situation. A crafted regular expression could lead to malformed bytecode with a possibility of instruction injection.
Statement
This flaw is an integer overflow triggered when an application compiles a specially crafted, untrusted regular expression pattern supplied by a user, as most applications match untrusted data against a trusted regex pattern.The flaw leads to a corruption of the intermediate language state. While this could theoretically allow an attacker to insert instructions, the resulting behavior is unpredictable, and any potential code execution is likely outside of an attacker's reliable control. Therefore, the most probable and practical impact is an application crash, resulting in a Denial of Service (DoS).
CVSS score applicability
The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.
Mitigation
To mitigate this flaw, developers should not allow untrusted regular expressions to be compiled by the Perl regular expression compiler.
CVSS / CWE
CVSS 3.1 · 8.6CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H
CWE-190 · Integer Overflow or Wraparound