OPENSUSE-SU-2026:21552-1
Vulnerability from csaf_opensuse - Published: 2026-08-10 17:38 - Updated: 2026-09-17 17:41Summary
Security update for perl-Date-Manip
Severity
Important
Notes
Title of the patch: Security update for perl-Date-Manip
Description of the patch: This update for perl-Date-Manip fixes the following issues
- CVE-2026-60074: corrupted dates returned when processing non-ASCII decimal digits that pass the numeric range tests in check (bsc#1273063).
- CVE-2026-60075: CPU exhaustion due to quadratic backtracking in the unanchored time substitution in `_parse_time` (bsc#1273062).
Patchnames: openSUSE-Leap-16.0-1448
Terms of use: CSAF 2.0 data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).
5.3 (Medium)
Affected products
Recommended
4 products
| Product | Identifier | Version | Remediation |
|---|---|---|---|
| Unresolved product id: openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.x86_64 | — |
Vendor Fix
|
Threats
Impact
moderate
7.5 (High)
Affected products
Recommended
4 products, the same list as for
CVE-2026-60074
Threats
Impact
important
References
10 references
{
"document": {
"aggregate_severity": {
"namespace": "https://www.suse.com/support/security/rating/",
"text": "important"
},
"category": "csaf_security_advisory",
"csaf_version": "2.0",
"distribution": {
"text": "Copyright 2024 SUSE LLC. All rights reserved.",
"tlp": {
"label": "WHITE",
"url": "https://www.first.org/tlp/"
}
},
"lang": "en",
"notes": [
{
"category": "summary",
"text": "Security update for perl-Date-Manip",
"title": "Title of the patch"
},
{
"category": "description",
"text": "This update for perl-Date-Manip fixes the following issues\n\n- CVE-2026-60074: corrupted dates returned when processing non-ASCII decimal digits that pass the numeric range tests in check (bsc#1273063).\n- CVE-2026-60075: CPU exhaustion due to quadratic backtracking in the unanchored time substitution in `_parse_time` (bsc#1273062).\n",
"title": "Description of the patch"
},
{
"category": "details",
"text": "openSUSE-Leap-16.0-1448",
"title": "Patchnames"
},
{
"category": "legal_disclaimer",
"text": "CSAF 2.0 data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).",
"title": "Terms of use"
}
],
"publisher": {
"category": "vendor",
"contact_details": "https://www.suse.com/support/security/contact/",
"name": "SUSE Product Security Team",
"namespace": "https://www.suse.com/"
},
"references": [
{
"category": "external",
"summary": "SUSE ratings",
"url": "https://www.suse.com/support/security/rating/"
},
{
"category": "self",
"summary": "URL of this CSAF notice",
"url": "https://ftp.suse.com/pub/projects/security/csaf/opensuse-su-2026_21552-1.json"
},
{
"category": "self",
"summary": "SUSE Bug 1273062",
"url": "https://bugzilla.suse.com/1273062"
},
{
"category": "self",
"summary": "SUSE Bug 1273063",
"url": "https://bugzilla.suse.com/1273063"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2026-60074 page",
"url": "https://www.suse.com/security/cve/CVE-2026-60074/"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2026-60075 page",
"url": "https://www.suse.com/security/cve/CVE-2026-60075/"
}
],
"title": "Security update for perl-Date-Manip",
"tracking": {
"current_release_date": "2026-09-17T17:41:32Z",
"generator": {
"date": "2026-08-10T17:38:25Z",
"engine": {
"name": "cve-database.git:bin/generate-csaf.pl",
"version": "1"
}
},
"id": "openSUSE-SU-2026:21552-1",
"initial_release_date": "2026-08-10T17:38:25Z",
"revision_history": [
{
"date": "2026-08-10T17:38:25Z",
"number": "1",
"summary": "Current version"
},
{
"date": "2026-09-16T20:44:51Z",
"number": "2",
"summary": "unknown changes"
},
{
"date": "2026-09-16T21:46:13Z",
"number": "3",
"summary": "unknown changes"
},
{
"date": "2026-09-17T17:41:32Z",
"number": "4",
"summary": "unknown changes"
}
],
"status": "final",
"version": "4"
}
},
"product_tree": {
"branches": [
{
"branches": [
{
"branches": [
{
"category": "product_version",
"name": "perl-Date-Manip-0:6.960.0-160000.3.1.aarch64",
"product": {
"name": "perl-Date-Manip-0:6.960.0-160000.3.1.aarch64",
"product_id": "perl-Date-Manip-0:6.960.0-160000.3.1.aarch64",
"product_identification_helper": {
"purl": "pkg:rpm/suse/perl-Date-Manip@6.960.0-160000.3.1?arch=aarch64\u0026upstream=perl-Date-Manip-0:6.960.0-160000.3.1.src.rpm"
}
}
}
],
"category": "architecture",
"name": "aarch64"
},
{
"branches": [
{
"category": "product_version",
"name": "perl-Date-Manip-0:6.960.0-160000.3.1.ppc64le",
"product": {
"name": "perl-Date-Manip-0:6.960.0-160000.3.1.ppc64le",
"product_id": "perl-Date-Manip-0:6.960.0-160000.3.1.ppc64le",
"product_identification_helper": {
"purl": "pkg:rpm/suse/perl-Date-Manip@6.960.0-160000.3.1?arch=ppc64le\u0026upstream=perl-Date-Manip-0:6.960.0-160000.3.1.src.rpm"
}
}
}
],
"category": "architecture",
"name": "ppc64le"
},
{
"branches": [
{
"category": "product_version",
"name": "perl-Date-Manip-0:6.960.0-160000.3.1.s390x",
"product": {
"name": "perl-Date-Manip-0:6.960.0-160000.3.1.s390x",
"product_id": "perl-Date-Manip-0:6.960.0-160000.3.1.s390x",
"product_identification_helper": {
"purl": "pkg:rpm/suse/perl-Date-Manip@6.960.0-160000.3.1?arch=s390x\u0026upstream=perl-Date-Manip-0:6.960.0-160000.3.1.src.rpm"
}
}
}
],
"category": "architecture",
"name": "s390x"
},
{
"branches": [
{
"category": "product_version",
"name": "perl-Date-Manip-0:6.960.0-160000.3.1.x86_64",
"product": {
"name": "perl-Date-Manip-0:6.960.0-160000.3.1.x86_64",
"product_id": "perl-Date-Manip-0:6.960.0-160000.3.1.x86_64",
"product_identification_helper": {
"purl": "pkg:rpm/suse/perl-Date-Manip@6.960.0-160000.3.1?arch=x86_64\u0026upstream=perl-Date-Manip-0:6.960.0-160000.3.1.src.rpm"
}
}
}
],
"category": "architecture",
"name": "x86_64"
},
{
"branches": [
{
"category": "product_name",
"name": "openSUSE Leap 16.0",
"product": {
"name": "openSUSE Leap 16.0",
"product_id": "openSUSE Leap 16.0"
}
}
],
"category": "product_family",
"name": "SUSE Linux Enterprise"
}
],
"category": "vendor",
"name": "SUSE"
}
],
"relationships": [
{
"category": "default_component_of",
"full_product_name": {
"name": "perl-Date-Manip-0:6.960.0-160000.3.1.aarch64 as component of openSUSE Leap 16.0",
"product_id": "openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.aarch64"
},
"product_reference": "perl-Date-Manip-0:6.960.0-160000.3.1.aarch64",
"relates_to_product_reference": "openSUSE Leap 16.0"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "perl-Date-Manip-0:6.960.0-160000.3.1.ppc64le as component of openSUSE Leap 16.0",
"product_id": "openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.ppc64le"
},
"product_reference": "perl-Date-Manip-0:6.960.0-160000.3.1.ppc64le",
"relates_to_product_reference": "openSUSE Leap 16.0"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "perl-Date-Manip-0:6.960.0-160000.3.1.s390x as component of openSUSE Leap 16.0",
"product_id": "openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.s390x"
},
"product_reference": "perl-Date-Manip-0:6.960.0-160000.3.1.s390x",
"relates_to_product_reference": "openSUSE Leap 16.0"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "perl-Date-Manip-0:6.960.0-160000.3.1.x86_64 as component of openSUSE Leap 16.0",
"product_id": "openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.x86_64"
},
"product_reference": "perl-Date-Manip-0:6.960.0-160000.3.1.x86_64",
"relates_to_product_reference": "openSUSE Leap 16.0"
}
]
},
"vulnerabilities": [
{
"cve": "CVE-2026-60074",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2026-60074"
}
],
"notes": [
{
"category": "general",
"text": "Date::Manip versions through 7.00 for Perl return corrupted dates via non-ASCII decimal digits that pass the numeric range tests in check.\n\nThe parse regexes capture year, month and day with the `\\d` shorthand, which on a character string matches the whole Unicode decimal digit property `\\p{Nd}` and not just `[0-9]`. Date::Manip::Base::check then validates the captured fields with numeric comparisons alone (`$y\u003c1 || $y\u003e9999`, `$m\u003c1 || $m\u003e12`, `$d\u003c1 || $d\u003e$days`), and _parse_check stores the numified fields (`$y+0`). Perl truncates a string at the first character that is not an ASCII digit, so a field whose leading characters are ASCII digits numifies to an in-range prefix and satisfies every test: a year field of three ASCII digits followed by U+0664 ARABIC-INDIC DIGIT FOUR numifies to 202, giving the year 0202, and one non-ASCII digit in the month or day field shifts those fields the same way. The hour, minute and second fields match explicit ASCII character classes (`0?[0-9]`, `[0-5][0-9]`) and do not shift, though a non-ASCII digit in a fractional hour or minute field truncates the fraction.\n\nAny caller that passes an untrusted character string to ParseDate() or Date::Manip::Date-\u003eparse() can get back a date that differs from the string it parsed, with no parse error. Where the parsed date gates logic such as an expiry check or a retention window, the shift goes unnoticed.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.aarch64",
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.ppc64le",
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.s390x",
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.x86_64"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2026-60074",
"url": "https://www.suse.com/security/cve/CVE-2026-60074"
},
{
"category": "external",
"summary": "SUSE Bug 1273063 for CVE-2026-60074",
"url": "https://bugzilla.suse.com/1273063"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.aarch64",
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.ppc64le",
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.s390x",
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.x86_64"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 5.3,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N",
"version": "3.1"
},
"products": [
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.aarch64",
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.ppc64le",
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.s390x",
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.x86_64"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-08-10T17:38:25Z",
"details": "moderate"
}
],
"title": "CVE-2026-60074"
},
{
"cve": "CVE-2026-60075",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2026-60075"
}
],
"notes": [
{
"category": "general",
"text": "Date::Manip versions through 7.00 for Perl allow CPU exhaustion via quadratic backtracking in the unanchored time substitution in _parse_time.\n\n_parse_time removes a time from anywhere in the string with the unanchored substitution `s/$timerx/ /`, where $timerx is an auto-generated alternation of time patterns reached through a leading `(?:$atrx|^|\\s+)`. The engine therefore retries the match at every position of an interior whitespace run: at each start position the leading `\\s+` consumes the rest of the run greedily, the time alternation fails because the run holds no digits, and the engine backtracks a space at a time across the run before advancing the start position, which is quadratic in the length of the run. No time need be present in the string for this to happen, only a long run of whitespace, and the parse time rises about fourfold for each doubling of the run: a few kilobytes of whitespace costs seconds of CPU per parse and tens of kilobytes costs minutes.\n\nAny caller that passes an untrusted string of unbounded length to ParseDate(), Date::Manip::Date-\u003eparse() or -\u003eparse_time() can be made to spend unbounded CPU in a single parse, a denial of service.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.aarch64",
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.ppc64le",
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.s390x",
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.x86_64"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2026-60075",
"url": "https://www.suse.com/security/cve/CVE-2026-60075"
},
{
"category": "external",
"summary": "SUSE Bug 1273062 for CVE-2026-60075",
"url": "https://bugzilla.suse.com/1273062"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.aarch64",
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.ppc64le",
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.s390x",
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.x86_64"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 7.5,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"products": [
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.aarch64",
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.ppc64le",
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.s390x",
"openSUSE Leap 16.0:perl-Date-Manip-0:6.960.0-160000.3.1.x86_64"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-08-10T17:38:25Z",
"details": "important"
}
],
"title": "CVE-2026-60075"
}
]
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Loading…
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.
Loading…