CVE-2026-72213

Source
https://cve.org/CVERecord?id=CVE-2026-72213
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72213.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-72213
Downstream
Published
2026-08-15T05:54:07.854Z
Modified
2026-08-18T03:56:22.427425604Z
Severity
  • 7.1 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H CVSS Calculator
Summary
mm/hugetlb: fix hugetlb cgroup rsvd charge/uncharge mismatch
Details

In the Linux kernel, the following vulnerability has been resolved:

mm/hugetlb: fix hugetlb cgroup rsvd charge/uncharge mismatch

In allochugetlbfolio(), a single hcg pointer is used for both the rsvd and non-rsvd hugetlb cgroup charges. When mapchg is set, hugetlbcgroupchargecgrouprsvd() stores the charged cgroup in hcg, but the immediately following hugetlbcgroupchargecgroup() overwrites h_cg with the non-rsvd cgroup pointer.

As a result, hugetlbcgroupcommitchargersvd() stores the wrong (non-rsvd) cgroup pointer into the folio's rsvd slot.

When the folio is later freed, freehugefolio() unconditionally calls both hugetlbcgroupunchargefolio() and hugetlbcgroupunchargefoliorsvd(). The rsvd uncharge reads back the wrong cgroup from the folio and decrements a counter that was never charged for that cgroup, causing a pagecounter underflow:

pagecounter underflow: -512 nrpages=512 WARNING: mm/pagecounter.c:61 at pagecounter_cancel

Fix this by introducing a separate hcgrsvd pointer exclusively for the rsvd charge path, keeping the rsvd and non-rsvd charges fully independent through their charge, commit, and error uncharge paths.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72213.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
08cf9faf7558020aed6a0da5810b824b07139dfa
Fixed
5c32ae4a91fb5f4941328e0c1720a7fa4189c3bd
Fixed
1697d253f51cf5e3825a3423ff49e128a3502ab2
Fixed
b785f2bd9496facedc0a031be09cddcd1d3c84d3
Fixed
15807d0ddde37407af72859426b654f3d1972b00

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72213.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.7.0
Fixed
6.12.101
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.40
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.1.5

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72213.json"