CVE-2026-19487 json
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
published 2026-08-13 2 mo ago modified 2026-08-28 2 mo ago also EUVD-2026-58110
- cvss
- 5.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 36%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- perl perl 5.41.9
- shay perl 5.41.9
- perl Debian 12 5.36.0-7+deb12u4
- perl Debian 13 5.40.1-6+deb13u1
- perl Debian 14 5.42.2-3
debian advisories DEBIAN-CVE-2026-19487
- perl Ubuntu 22.04 LTS 5.34.0-3ubuntu1.9
- perl Ubuntu 24.04 LTS 5.38.2-3.2ubuntu0.6
- perl Ubuntu 26.04 LTS 5.40.1-7ubuntu0.2
- perl Ubuntu Pro 14.04 LTS 5.18.2-2ubuntu1.7+esm9
- perl Ubuntu Pro 16.04 LTS 5.22.1-9ubuntu0.9+esm4
- perl Ubuntu Pro 18.04 LTS 5.26.1-6ubuntu0.7+esm4
- perl Ubuntu Pro 20.04 LTS 5.30.0-9ubuntu0.5+esm4
ubuntu advisories UBUNTU-CVE-2026-19487
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-19487 updated cvss 6.5
perl: Perl: Incorrect regular expression matching can lead to wrong access or filtering decisions.
-
Red Hat Enterprise Linux 6 perl, perl-CGI, perl-core, perl-CPAN, perl-libs, perl-parent, +39 more Red Hat Enterprise Linux 7 perl, perl-core, perl-CPAN, perl-libs, perl-tests, perl-macros, +11 more Red Hat Enterprise Linux 8 perl, perl-IO, perl-libs, perl-open, perl-Test, perl-Errno, +19 more Red Hat Enterprise Linux 9 perl, perl-B, perl-if, perl-IO, perl-ph, perl-lib, +92 more Red Hat Enterprise Linux 10 perl Red Hat Hardened Images perlaffected: workaround, no fix available “Fix deferred”
+4 more productsfewer
Red Hat OpenShift AI (RHOAI) rhoai/odh-workbench-codeserver-datascience-cpu-py312-rhel9 Red Hat OpenShift Container Platform 4 openshift/ose-rhel-coreos-8, openshift/ose-rhel-coreos-9 Red Hat OpenShift Container Platform 5 openshift/ose-rhel-coreos-9 Red Hat OpenShift Dev Spaces devspaces/code-rhel9
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 2 mo ago
Exploit prediction
0.42% chance of exploitation in the next 30 days, higher than 36% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/Perl/perl5/issues/22892 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
Classification
- Weakness
-
- CWE-670 Always-Incorrect Control Flow Implementation
References
Sources
- CVE List CVE-2026-19487
- NVD CVE-2026-19487
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.