This vulnerability is an attacker controlled corruption of the intermediate language state of a compiled regular expression. The corruption occurs due to integer overflows in the calculation of offsets between instructions for the regular expression engine. An attacker could abuse this behavior to insert instructions into the compiled form of a Perl regular expression.
Acknowledgments: Name: Hugo van der Sanden, Slaven Rezic
(In reply to Todd Cullum from comment #5) > Mitigation: > > To mitigate this flaw, developers should not pass untrusted or uncontrolled > data to the Perl regular expression engine; especially in cases where the > regular expression is used in input sanitization, validation, or filtering. This flaw is about compiling an untrusted regular expression. Not about a matching an untrusted text.
Mitigation: To mitigate this flaw, developers should not allow untrusted regular expressions to be compiled by the Perl regular expression compiler.
This flaw is caused by code in the Perl regex compiler, which allowed an integer overflow of U16_MAX for certain regular expressions, in regcomp.c's S_study_chunk() or Perl_re_op_compile() routines. The patch locations are different for various affected versions, but involve checking for overflow of U16_MAX. Upstream notes that I32_MAX may be smaller than U16_MAX on some CRAY machines.
Upstream Patches: https://github.com/perl/perl5/commit/0a320d753fe7fca03df259a4dfd8e641e51edaa8 https://github.com/perl/perl5/commit/3295b48defa0f8570114877b063fe546dd348b3c
References: https://github.com/Perl/perl5/blob/blead/pod/perl5303delta.pod https://github.com/Perl/perl5/compare/v5.30.2...v5.30.3
Created perl tracking bugs for this issue: Affects: fedora-all [bug 1844663]
The fixes are now published in Perl versions 5.28.3 and 5.30.3. https://metacpan.org/pod/release/XSAWYERX/perl-5.28.3/pod/perldelta.pod https://metacpan.org/pod/release/XSAWYERX/perl-5.30.3/pod/perldelta.pod
This issue has been addressed in the following products: Red Hat Enterprise Linux 7 Via RHSA-2021:0343 https://access.redhat.com/errata/RHSA-2021:0343
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s): https://access.redhat.com/security/cve/cve-2020-10878
This issue has been addressed in the following products: Red Hat Enterprise Linux 7.6 Extended Update Support Via RHSA-2021:0883 https://access.redhat.com/errata/RHSA-2021:0883
This issue has been addressed in the following products: Red Hat Enterprise Linux 7.7 Extended Update Support Via RHSA-2021:1032 https://access.redhat.com/errata/RHSA-2021:1032
This issue has been addressed in the following products: Red Hat Enterprise Linux 7.4 Advanced Update Support Red Hat Enterprise Linux 7.4 Update Services for SAP Solutions Red Hat Enterprise Linux 7.4 Telco Extended Update Support Via RHSA-2021:1266 https://access.redhat.com/errata/RHSA-2021:1266
This issue has been addressed in the following products: Red Hat Enterprise Linux 8 Via RHSA-2021:1678 https://access.redhat.com/errata/RHSA-2021:1678
This issue has been addressed in the following products: Red Hat Enterprise Linux 8.2 Extended Update Support Via RHSA-2021:2792 https://access.redhat.com/errata/RHSA-2021:2792