Bug 2529177 - CVE-2026-19487 perl: Perl: Incorrect regular expression matching can lead to wrong access or filtering decisions. [fedora-all]
Summary: CVE-2026-19487 perl: Perl: Incorrect regular expression matching can lead to ...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: perl
Version: rawhide
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
Assignee: Jitka Plesnikova
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: {"flaws": ["8ce72ce3-744a-4c2b-8940-0...
Depends On:
Blocks: CVE-2026-19487
TreeView+ depends on / blocked
 
Reported: 2026-09-06 13:50 UTC by nlevinki
Modified: 2026-09-23 12:04 UTC (History)
6 users (show)

Fixed In Version: perl-5.44.0-527.fc45 perl-5.42.3-525.fc44 perl-5.42.3-524.fc43
Clone Of:
Environment:
Last Closed: 2026-09-23 12:04:09 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description nlevinki 2026-09-06 13:50:05 UTC
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.

Perl versions from 5.9.4 before 5.41.9 produce incorrect regular expression match results when a stale failure flag ends the Aho-Corasick prescan early in S_find_byclass.

The prescan walks the subject for positions where the full pattern could match, and the engine tries it from the leftmost one recorded. A failing transition sets the failed flag, and a later successful transition does not clear it, so the prescan reads the stale flag as a failure and stops before it can record a candidate that starts earlier. It takes a subject where one candidate is recorded and a later character then forces a fallback through a fail link that succeeds.

Example:

  "ABCDE" =~ m/ABCF|BCDE|C/;    # matches C at offset 2, not BCDE
  "ABCDE" =~ m/ABCF|BCDE|C(G)/; # no match, BCDE missed

An alternation like this can miss input it should match, or match it on the wrong branch, so an access or filtering decision made from the result can be wrong.


Note You need to log in before you can comment on or make changes to this bug.