UBUNTU-CVE-2026-96512 (CVE-2026-96512)
Vulnerability from osv_ubuntu – Published: 2026-09-24 00:00 – Updated: 2026-09-24 00:00 – Source websiteA flaw was found in sudo. When sudoers rules use NOTBEFORE or NOTAFTER time-based access restrictions with timestamps that omit the trailing 'Z' timezone indicator, the time evaluation relies on the TZ environment variable inherited from the calling user. Because sudo is a setuid-root program, an unprivileged local user can set TZ to an extreme timezone offset to shift the authorization window by up to approximately 25 hours, causing expired rules to be treated as valid. This allows the user to execute commands outside the intended time window. Authentication is not bypassed; only the time-based authorization check is affected.
{
"affected": [
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "sudo",
"binary_version": "1.8.9p5-1ubuntu1.5+esm8"
},
{
"binary_name": "sudo-ldap",
"binary_version": "1.8.9p5-1ubuntu1.5+esm8"
}
]
},
"package": {
"ecosystem": "Ubuntu:Pro:14.04:LTS",
"name": "sudo",
"purl": "pkg:deb/ubuntu/sudo@1.8.9p5-1ubuntu1.5+esm8?arch=source\u0026distro=esm-infra-legacy/trusty"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.8.6p3-0ubuntu3",
"1.8.8-2ubuntu1",
"1.8.8-2ubuntu2",
"1.8.9p4-1ubuntu1",
"1.8.9p4-1ubuntu2",
"1.8.9p5-1ubuntu1",
"1.8.9p5-1ubuntu1.1",
"1.8.9p5-1ubuntu1.2",
"1.8.9p5-1ubuntu1.3",
"1.8.9p5-1ubuntu1.4",
"1.8.9p5-1ubuntu1.5+esm1",
"1.8.9p5-1ubuntu1.5+esm2",
"1.8.9p5-1ubuntu1.5+esm3",
"1.8.9p5-1ubuntu1.5+esm5",
"1.8.9p5-1ubuntu1.5+esm6",
"1.8.9p5-1ubuntu1.5+esm7",
"1.8.9p5-1ubuntu1.5+esm8"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "sudo",
"binary_version": "1.8.16-0ubuntu1.10+esm3"
},
{
"binary_name": "sudo-ldap",
"binary_version": "1.8.16-0ubuntu1.10+esm3"
}
]
},
"package": {
"ecosystem": "Ubuntu:Pro:16.04:LTS",
"name": "sudo",
"purl": "pkg:deb/ubuntu/sudo@1.8.16-0ubuntu1.10+esm3?arch=source\u0026distro=esm-infra/xenial"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.8.12-1ubuntu3",
"1.8.16-0ubuntu1",
"1.8.16-0ubuntu1.1",
"1.8.16-0ubuntu1.2",
"1.8.16-0ubuntu1.3",
"1.8.16-0ubuntu1.4",
"1.8.16-0ubuntu1.5",
"1.8.16-0ubuntu1.6",
"1.8.16-0ubuntu1.7",
"1.8.16-0ubuntu1.8",
"1.8.16-0ubuntu1.9",
"1.8.16-0ubuntu1.10",
"1.8.16-0ubuntu1.10+esm1",
"1.8.16-0ubuntu1.10+esm2",
"1.8.16-0ubuntu1.10+esm3"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "sudo",
"binary_version": "1.8.21p2-3ubuntu1.6+esm1"
},
{
"binary_name": "sudo-ldap",
"binary_version": "1.8.21p2-3ubuntu1.6+esm1"
}
]
},
"package": {
"ecosystem": "Ubuntu:Pro:18.04:LTS",
"name": "sudo",
"purl": "pkg:deb/ubuntu/sudo@1.8.21p2-3ubuntu1.6+esm1?arch=source\u0026distro=esm-infra/bionic"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.8.20p2-1ubuntu1",
"1.8.21p2-2ubuntu1",
"1.8.21p2-3ubuntu1",
"1.8.21p2-3ubuntu1.1",
"1.8.21p2-3ubuntu1.2",
"1.8.21p2-3ubuntu1.3",
"1.8.21p2-3ubuntu1.4",
"1.8.21p2-3ubuntu1.5",
"1.8.21p2-3ubuntu1.6",
"1.8.21p2-3ubuntu1.6+esm1"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "sudo",
"binary_version": "1.8.31-1ubuntu1.5+esm1"
},
{
"binary_name": "sudo-ldap",
"binary_version": "1.8.31-1ubuntu1.5+esm1"
}
]
},
"package": {
"ecosystem": "Ubuntu:Pro:20.04:LTS",
"name": "sudo",
"purl": "pkg:deb/ubuntu/sudo@1.8.31-1ubuntu1.5+esm1?arch=source\u0026distro=esm-infra/focal"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.8.27-1ubuntu4",
"1.8.29-1ubuntu1",
"1.8.31-1ubuntu1",
"1.8.31-1ubuntu1.1",
"1.8.31-1ubuntu1.2",
"1.8.31-1ubuntu1.4",
"1.8.31-1ubuntu1.5",
"1.8.31-1ubuntu1.5+esm1"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "sudo",
"binary_version": "1.9.9-1ubuntu2.6"
},
{
"binary_name": "sudo-ldap",
"binary_version": "1.9.9-1ubuntu2.6"
}
]
},
"package": {
"ecosystem": "Ubuntu:22.04:LTS",
"name": "sudo",
"purl": "pkg:deb/ubuntu/sudo@1.9.9-1ubuntu2.6?arch=source\u0026distro=jammy"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.9.5p2-3ubuntu2",
"1.9.9-1ubuntu2",
"1.9.9-1ubuntu2.1",
"1.9.9-1ubuntu2.2",
"1.9.9-1ubuntu2.3",
"1.9.9-1ubuntu2.4",
"1.9.9-1ubuntu2.5",
"1.9.9-1ubuntu2.6"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "libnss-sudo",
"binary_version": "1.9.15p5-3ubuntu5.24.04.3"
},
{
"binary_name": "sudo",
"binary_version": "1.9.15p5-3ubuntu5.24.04.3"
},
{
"binary_name": "sudo-ldap",
"binary_version": "1.9.15p5-3ubuntu5.24.04.3"
}
]
},
"package": {
"ecosystem": "Ubuntu:24.04:LTS",
"name": "sudo",
"purl": "pkg:deb/ubuntu/sudo@1.9.15p5-3ubuntu5.24.04.3?arch=source\u0026distro=noble"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.9.14p2-1ubuntu1",
"1.9.15p5-3ubuntu1",
"1.9.15p5-3ubuntu3",
"1.9.15p5-3ubuntu4",
"1.9.15p5-3ubuntu5",
"1.9.15p5-3ubuntu5.24.04.1",
"1.9.15p5-3ubuntu5.24.04.2",
"1.9.15p5-3ubuntu5.24.04.3"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "libnss-sudo",
"binary_version": "1.9.17p2-1ubuntu3.1"
},
{
"binary_name": "sudo",
"binary_version": "1.9.17p2-1ubuntu3.1"
}
]
},
"package": {
"ecosystem": "Ubuntu:26.04:LTS",
"name": "sudo",
"purl": "pkg:deb/ubuntu/sudo@1.9.17p2-1ubuntu3.1?arch=source\u0026distro=resolute"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.9.17p2-1ubuntu1",
"1.9.17p2-1ubuntu2",
"1.9.17p2-1ubuntu3",
"1.9.17p2-1ubuntu3.1"
]
}
],
"aliases": [],
"details": "A flaw was found in sudo. When sudoers rules use NOTBEFORE or NOTAFTER time-based access restrictions with timestamps that omit the trailing \u0027Z\u0027 timezone indicator, the time evaluation relies on the TZ environment variable inherited from the calling user. Because sudo is a setuid-root program, an unprivileged local user can set TZ to an extreme timezone offset to shift the authorization window by up to approximately 25 hours, causing expired rules to be treated as valid. This allows the user to execute commands outside the intended time window. Authentication is not bypassed; only the time-based authorization check is affected.",
"id": "UBUNTU-CVE-2026-96512",
"modified": "2026-09-24T00:00:00Z",
"published": "2026-09-24T00:00:00Z",
"references": [
{
"type": "REPORT",
"url": "https://ubuntu.com/security/CVE-2026-96512"
},
{
"type": "REPORT",
"url": "https://www.cve.org/CVERecord?id=CVE-2026-96512"
},
{
"type": "REPORT",
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=2539327"
},
{
"type": "REPORT",
"url": "https://access.redhat.com/security/cve/CVE-2026-96512"
},
{
"type": "REPORT",
"url": "https://github.com/sudo-project/sudo/commit/1820a349687522f51023d1ae5925125f59679a8c"
}
],
"related": [],
"schema_version": "1.7.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
},
{
"score": "medium",
"type": "Ubuntu"
}
],
"upstream": [
"CVE-2026-96512"
]
}
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.
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.
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.