CVE-2026-14741
HTTP::Date versions before 6.08 for Perl allow CPU exhaustion via polynomial regex backtracking in parse_date
HTTP::Date versions before 6.08 for Perl allow CPU exhaustion via polynomial regex backtracking in parse_date.
parse_date() matches the date string against a chain of alternative regexes, and str2time() delegates to it. Several of these patterns place unbounded quantifiers next to each other before a trailing \s*$ anchor. A valid date prefix followed by a long interior run of digits, letters, or whitespace and a single trailing byte that defeats the final match forces the engine to repartition the run, giving polynomial (about quadratic) backtracking. A header value of a few tens of kilobytes runs for tens of seconds of CPU.
HTTP::Date parses timestamps such as HTTP Date, Expires, and Last-Modified headers, which commonly originate from untrusted sources. Any caller that passes an untrusted date header to str2time() or parse_date() can be driven to consume unbounded CPU, a denial of service.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.5
HTTP::Date versions before 6.08 for Perl allow CPU exhaustion via polynomial regex backtracking in parse_date
HTTP::Date versions before 6.08 for Perl allow CPU exhaustion via polynomial regex backtracking in parse_date.
parse_date() matches the date string against a chain of alternative regexes, and str2time() delegates to it. Several of these patterns place unbounded quantifiers next to each other before a trailing \s*$ anchor. A valid date prefix followed by a long interior run of digits, letters, or whitespace and a single trailing byte that defeats the final match forces the engine to repartition the run, giving polynomial (about quadratic) backtracking. A header value of a few tens of kilobytes runs for tens of seconds of CPU.
HTTP::Date parses timestamps such as HTTP Date, Expires, and Last-Modified headers, which commonly originate from untrusted sources. Any caller that passes an untrusted date header to str2time() or parse_date() can be driven to consume unbounded CPU, a denial of service.
- Record
CVE-2026-14741- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-1333
- Updated
- 2026-11-02
EUVDEUVD-2026-45190
7.5
HTTP::Date versions before 6.08 for Perl allow CPU exhaustion via polynomial regex backtracking in parse_date.
parse_date() matches the date string against a chain of alternative regexes, and str2time() delegates to it. Several of these patterns place unbounded quantifiers next to each other before a trailing \s*$ anchor. A valid date prefix followed by a long interior run of digits, letters, or whitespace and a single trailing byte that defeats the final match forces the engine to repartition the run, giving polynomial (about quadratic) backtracking. A header value of a few tens of kilobytes runs for tens of seconds of CPU.
HTTP::Date parses timestamps such as HTTP Date, Expires, and Last-Modified headers, which commonly originate from untrusted sources. Any caller that passes an untrusted date header to str2time() or parse_date() can be driven to consume unbounded CPU, a denial of service.
- Record
EUVD-2026-45190- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-mcqf-9rr5-v7rw
7.5
HTTP::Date versions before 6.08 for Perl allow CPU exhaustion via polynomial regex backtracking...
HTTP::Date versions before 6.08 for Perl allow CPU exhaustion via polynomial regex backtracking in parse_date.
parse_date() matches the date string against a chain of alternative regexes, and str2time() delegates to it. Several of these patterns place unbounded quantifiers next to each other before a trailing \s*$ anchor. A valid date prefix followed by a long interior run of digits, letters, or whitespace and a single trailing byte that defeats the final match forces the engine to repartition the run, giving polynomial (about quadratic) backtracking. A header value of a few tens of kilobytes runs for tens of seconds of CPU.
HTTP::Date parses timestamps such as HTTP Date, Expires, and Last-Modified headers, which commonly originate from untrusted sources. Any caller that passes an untrusted date header to str2time() or parse_date() can be driven to consume unbounded CPU, a denial of service.
- Record
GHSA-mcqf-9rr5-v7rw- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-1333
- Updated
- 2026-11-02
NVD
7.5
HTTP::Date versions before 6.08 for Perl allow CPU exhaustion via polynomial regex backtracking in parse_date.
parse_date() matches the date string against a chain of alternative regexes, and str2time() delegates to it. Several of these patterns place unbounded quantifiers next to each other before a trailing \s*$ anchor. A valid date prefix followed by a long interior run of digits, letters, or whitespace and a single trailing byte that defeats the final match forces the engine to repartition the run, giving polynomial (about quadratic) backtracking. A header value of a few tens of kilobytes runs for tens of seconds of CPU.
HTTP::Date parses timestamps such as HTTP Date, Expires, and Last-Modified headers, which commonly originate from untrusted sources. Any caller that passes an untrusted date header to str2time() or parse_date() can be driven to consume unbounded CPU, a denial of service.
- Record
CVE-2026-14741- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-1333
- Updated
- 2026-11-02
OSV
7.5
HTTP::Date versions before 6.08 for Perl allow CPU exhaustion via polynomial regex backtracking in parse_date
HTTP::Date versions before 6.08 for Perl allow CPU exhaustion via polynomial regex backtracking in parse_date.
parse_date() matches the date string against a chain of alternative regexes, and str2time() delegates to it. Several of these patterns place unbounded quantifiers next to each other before a trailing \s*$ anchor. A valid date prefix followed by a long interior run of digits, letters, or whitespace and a single trailing byte that defeats the final match forces the engine to repartition the run, giving polynomial (about quadratic) backtracking. A header value of a few tens of kilobytes runs for tens of seconds of CPU.
HTTP::Date parses timestamps such as HTTP Date, Expires, and Last-Modified headers, which commonly originate from untrusted sources. Any caller that passes an untrusted date header to str2time() or parse_date() can be driven to consume unbounded CPU, a denial of service.
- Record
CVE-2026-14741- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-1333
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-14741
7.5
HTTP::Date versions before 6.08 for Perl allow CPU exhaustion via polynomial regex backtracking in parse_date. parse_date() matches the date string against a chain of alternative regexes, and str2time() delegates to it. Several of these patterns place unbounded quantifiers next to each other before a trailing \s*$ anchor. A valid date prefix followed by a long interior run of digits, letters, or whitespace and a single trailing byte that defeats the final match forces the engine to repartition the run, giving polynomial (about quadratic) backtracking. A header value of a few tens of kilobytes runs for tens of seconds of CPU. HTTP::Date parses timestamps such as HTTP Date, Expires, and Last-Modified headers, which commonly originate from untrusted sources. Any caller that passes an untrusted date header to str2time() or parse_date() can be driven to consume unbounded CPU, a denial of service.
- Record
DEBIAN-CVE-2026-14741- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
Show 10 moreShow less
OSVUBUNTU-CVE-2026-14741
7.5
HTTP::Date versions before 6.08 for Perl allow CPU exhaustion via polynomial regex backtracking in parse_date. parse_date() matches the date string against a chain of alternative regexes, and str2time() delegates to it. Several of these patterns place unbounded quantifiers next to each other before a trailing \s*$ anchor. A valid date prefix followed by a long interior run of digits, letters, or whitespace and a single trailing byte that defeats the final match forces the engine to repartition the run, giving polynomial (about quadratic) backtracking. A header value of a few tens of kilobytes runs for tens of seconds of CPU. HTTP::Date parses timestamps such as HTTP Date, Expires, and Last-Modified headers, which commonly originate from untrusted sources. Any caller that passes an untrusted date header to str2time() or parse_date() can be driven to consume unbounded CPU, a denial of service.
- Record
UBUNTU-CVE-2026-14741- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVMGASA-2026-0362 No score
Updated perl-HTTP-Date packages fix a security vulnerability
HTTP::Date versions before 6.08 for Perl allow CPU exhaustion via polynomial regex backtracking in parse_date
- Record
MGASA-2026-0362- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11350-1 No score
perl-HTTP-Date-6.80.0-1.1 on GA media
These are all security issues fixed in the perl-HTTP-Date-6.80.0-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11350-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21427-1 No score
Security update for perl-HTTP-Date
This update for perl-HTTP-Date fixes the following issue
- CVE-2026-14741: CPU exhaustion via polynomial regex backtracking in parse_date (bsc#1271705).
- Record
openSUSE-SU-2026:21427-1- Updated
- 2026-11-02
OSVROOT-OS-DEBIAN-12-CVE-2026-14741 No score
CVE-2026-14741 in libhttp-date-perl - Patched by Root
Root has patched CVE-2026-14741 in the libhttp-date-perl package for Root:Debian:12. Multiple fixed versions available.
- Record
ROOT-OS-DEBIAN-12-CVE-2026-14741- Updated
- 2026-11-02
OSVROOT-OS-DEBIAN-13-CVE-2026-14741 No score
CVE-2026-14741 in libhttp-date-perl - Patched by Root
Root has patched CVE-2026-14741 in the libhttp-date-perl package for Root:Debian:13. Multiple fixed versions available.
- Record
ROOT-OS-DEBIAN-13-CVE-2026-14741- Updated
- 2026-11-02
OSVSUSE-SU-2026:22859-1 No score
Security update for perl-HTTP-Date
This update for perl-HTTP-Date fixes the following issue
- CVE-2026-14741: CPU exhaustion via polynomial regex backtracking in parse_date (bsc#1271705).
- Record
SUSE-SU-2026:22859-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:3334-1 No score
Security update for perl-HTTP-Date
This update for perl-HTTP-Date fixes the following issue:
- CVE-2026-14741: CPU exhaustion due to polynomial regex backtracking in
parse_datewhen processing specially crafted date strings (bsc#1271705).
- Record
SUSE-SU-2026:3334-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:3454-1 No score
Security update for perl-HTTP-Date
This update for perl-HTTP-Date fixes the following issue
- CVE-2026-14741: CPU exhaustion due to polynomial regex backtracking in
parse_datewhen processing specially crafted date strings (bsc#1271705).
- Record
SUSE-SU-2026:3454-1- Updated
- 2026-11-02
OSVUSN-8599-1 No score
libhttp-date-perl vulnerability
It was discovered that HTTP-Date incorrectly handled parsing certain date strings. An attacker could possibly use this issue to cause HTTP-Date to use excessive resources, leading to a denial of service.
- Record
USN-8599-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
perl-http-dateAlpaquita:23 |
6.05-r1 up to 6.06-r0 | 6.06-r0 |
perl-http-dateAlpaquita:25 |
6.06-r0 up to 6.06-r1 | 6.06-r1 |
libhttp-date-perlDebian:12 |
All versions, plus listed versions 6.05-26.06-16.07-16.08-1 |
None known |
libhttp-date-perlDebian:13 |
All versions, plus listed versions 6.06-16.07-16.08-1 |
None known |
libhttp-date-perlDebian:14 |
before 6.08-1, plus listed versions 6.06-16.07-1 |
6.08-1 |
perl-HTTP-DateMageia:10 |
before 6.80.0-1.mga10 | 6.80.0-1.mga10 |
perl-HTTP-DateMageia:9 |
before 6.80.0-1.mga9 | 6.80.0-1.mga9 |
libhttp-date-perlRoot:Debian:12 |
before 6.05-2.aikido.1 | 6.05-2.aikido.1 |
rootio-libhttp-date-perlRoot:Debian:12 |
before 6.05-2.aikido.1 | 6.05-2.aikido.1 |
libhttp-date-perlRoot:Debian:13 |
before 6.06-1.aikido.1 | 6.06-1.aikido.1 |
Show 14 moreShow less
| Package | Affected | Fixed |
|---|---|---|
rootio-libhttp-date-perlRoot:Debian:13 |
before 6.06-1.aikido.1 | 6.06-1.aikido.1 |
perl-HTTP-DateSUSE:Linux Enterprise Server 16.0 |
before 6.06-160000.3.1 | 6.06-160000.3.1 |
perl-HTTP-DateSUSE:Linux Enterprise Server for SAP applications 16.0 |
before 6.06-160000.3.1 | 6.06-160000.3.1 |
perl-HTTP-DateSUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 |
before 6.02-9.3.1 | 6.02-9.3.1 |
perl-HTTP-DateSUSE:Linux Enterprise Module for Basesystem 15 SP7 |
before 6.02-150000.3.3.1 | 6.02-150000.3.3.1 |
libhttp-date-perlUbuntu:14.04:LTS |
All versions, plus listed versions 6.02-1 |
None known |
libhttp-date-perlUbuntu:16.04:LTS |
All versions, plus listed versions 6.02-1 |
None known |
libhttp-date-perlUbuntu:18.04:LTS |
All versions, plus listed versions 6.02-1 |
None known |
libhttp-date-perlUbuntu:20.04:LTS |
All versions, plus listed versions 6.02-16.05-1 |
None known |
libhttp-date-perlUbuntu:22.04:LTS |
before 6.05-1ubuntu0.1, plus listed versions 6.05-1 |
6.05-1ubuntu0.1 |
libhttp-date-perlUbuntu:24.04:LTS |
before 6.06-1ubuntu0.24.04.1, plus listed versions 6.05-26.06-1 |
6.06-1ubuntu0.24.04.1 |
libhttp-date-perlUbuntu:26.04:LTS |
before 6.06-1ubuntu0.26.04.1, plus listed versions 6.06-1 |
6.06-1ubuntu0.26.04.1 |
perl-HTTP-DateopenSUSE:Tumbleweed |
before 6.80.0-1.1 | 6.80.0-1.1 |
perl-HTTP-DateopenSUSE:Leap 16.0 |
before 6.06-160000.3.1 | 6.06-160000.3.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-14741 is a high vulnerability (CVSS 7.5) in Oalders Http::date, published July 10, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.63%, the 50th percentile. Fixed in perl-http-date 6.06-r0.
References
github.com/libwww-perl/HTTP-Date/commit/78c20952cdfbf11e03cf1199ad70f13298a84c5c.patch
github.com/libwww-perl/HTTP-Date/pull/33
metacpan.org/release/OALDERS/HTTP-Date-6.08/changes
openwall.com/lists/oss-security/2026/07/17/10
nvd.nist.gov/vuln/detail/CVE-2026-14741
github.com/advisories/GHSA-mcqf-9rr5-v7rw
Show 15 moreShow less
docs.bell-sw.com/security/cves/CVE-2026-14741
cpan.org/modules
github.com/CVEProject/cvelistV5/tree/main/cves/2026/14xxx/CVE-2026-14741.json
github.com/libwww-perl/HTTP-Date
security-tracker.debian.org/tracker/CVE-2026-14741
advisories.mageia.org/MGASA-2026-0362.html
bugs.mageia.org/show_bug.cgi?id=35952
suse.com/support/update/announcement/2026/suse-su-202622859-1
bugzilla.suse.com/1271705
suse.com/security/cve/CVE-2026-14741
suse.com/support/update/announcement/2026/suse-su-20263334-1
suse.com/support/update/announcement/2026/suse-su-20263454-1
ubuntu.com/security/CVE-2026-14741
cve.org/CVERecord?id=CVE-2026-14741
ubuntu.com/security/notices/USN-8599-1