CVE-2026-43129 (GCVE-0-2026-43129)
Vulnerability from cvelistv5 – Published: 2026-05-06 11:27 – Updated: 2026-05-07 17:14
VLAI?
Title
ima: verify the previous kernel's IMA buffer lies in addressable RAM
Summary
In the Linux kernel, the following vulnerability has been resolved:
ima: verify the previous kernel's IMA buffer lies in addressable RAM
Patch series "Address page fault in ima_restore_measurement_list()", v3.
When the second-stage kernel is booted via kexec with a limiting command
line such as "mem=<size>" we observe a pafe fault that happens.
BUG: unable to handle page fault for address: ffff97793ff47000
RIP: ima_restore_measurement_list+0xdc/0x45a
#PF: error_code(0x0000) not-present page
This happens on x86_64 only, as this is already fixed in aarch64 in
commit: cbf9c4b9617b ("of: check previous kernel's ima-kexec-buffer
against memory bounds")
This patch (of 3):
When the second-stage kernel is booted with a limiting command line (e.g.
"mem=<size>"), the IMA measurement buffer handed over from the previous
kernel may fall outside the addressable RAM of the new kernel. Accessing
such a buffer can fault during early restore.
Introduce a small generic helper, ima_validate_range(), which verifies
that a physical [start, end] range for the previous-kernel IMA buffer lies
within addressable memory:
- On x86, use pfn_range_is_mapped().
- On OF based architectures, use page_is_ram().
Severity ?
No CVSS data available.
Assigner
References
Impacted products
| Vendor | Product | Version | ||
|---|---|---|---|---|
| Linux | Linux |
Affected:
b69a2afd5afce9bf6d56e349d6ab592c916e20f2 , < f11d7d088f5ed54b31c6735854c12845eb60eb4a
(git)
Affected: b69a2afd5afce9bf6d56e349d6ab592c916e20f2 , < 9e1f51c1ad57cc76a0e8b5eb27038f8973fff4fa (git) Affected: b69a2afd5afce9bf6d56e349d6ab592c916e20f2 , < 5366ec7d2f793ce703c403d7fd4c25a3db365b9d (git) Affected: b69a2afd5afce9bf6d56e349d6ab592c916e20f2 , < 10d1c75ed4382a8e79874379caa2ead8952734f9 (git) |
||
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"include/linux/ima.h",
"security/integrity/ima/ima_kexec.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "f11d7d088f5ed54b31c6735854c12845eb60eb4a",
"status": "affected",
"version": "b69a2afd5afce9bf6d56e349d6ab592c916e20f2",
"versionType": "git"
},
{
"lessThan": "9e1f51c1ad57cc76a0e8b5eb27038f8973fff4fa",
"status": "affected",
"version": "b69a2afd5afce9bf6d56e349d6ab592c916e20f2",
"versionType": "git"
},
{
"lessThan": "5366ec7d2f793ce703c403d7fd4c25a3db365b9d",
"status": "affected",
"version": "b69a2afd5afce9bf6d56e349d6ab592c916e20f2",
"versionType": "git"
},
{
"lessThan": "10d1c75ed4382a8e79874379caa2ead8952734f9",
"status": "affected",
"version": "b69a2afd5afce9bf6d56e349d6ab592c916e20f2",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"include/linux/ima.h",
"security/integrity/ima/ima_kexec.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.0"
},
{
"lessThan": "6.0",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.77",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.16",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.19.*",
"status": "unaffected",
"version": "6.19.6",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.0",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.77",
"versionStartIncluding": "6.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.16",
"versionStartIncluding": "6.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.19.6",
"versionStartIncluding": "6.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.0",
"versionStartIncluding": "6.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nima: verify the previous kernel\u0027s IMA buffer lies in addressable RAM\n\nPatch series \"Address page fault in ima_restore_measurement_list()\", v3.\n\nWhen the second-stage kernel is booted via kexec with a limiting command\nline such as \"mem=\u003csize\u003e\" we observe a pafe fault that happens.\n\n BUG: unable to handle page fault for address: ffff97793ff47000\n RIP: ima_restore_measurement_list+0xdc/0x45a\n #PF: error_code(0x0000) not-present page\n\nThis happens on x86_64 only, as this is already fixed in aarch64 in\ncommit: cbf9c4b9617b (\"of: check previous kernel\u0027s ima-kexec-buffer\nagainst memory bounds\")\n\n\nThis patch (of 3):\n\nWhen the second-stage kernel is booted with a limiting command line (e.g. \n\"mem=\u003csize\u003e\"), the IMA measurement buffer handed over from the previous\nkernel may fall outside the addressable RAM of the new kernel. Accessing\nsuch a buffer can fault during early restore.\n\nIntroduce a small generic helper, ima_validate_range(), which verifies\nthat a physical [start, end] range for the previous-kernel IMA buffer lies\nwithin addressable memory:\n\t- On x86, use pfn_range_is_mapped().\n\t- On OF based architectures, use page_is_ram()."
}
],
"providerMetadata": {
"dateUpdated": "2026-05-07T17:14:21.463Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/f11d7d088f5ed54b31c6735854c12845eb60eb4a"
},
{
"url": "https://git.kernel.org/stable/c/9e1f51c1ad57cc76a0e8b5eb27038f8973fff4fa"
},
{
"url": "https://git.kernel.org/stable/c/5366ec7d2f793ce703c403d7fd4c25a3db365b9d"
},
{
"url": "https://git.kernel.org/stable/c/10d1c75ed4382a8e79874379caa2ead8952734f9"
}
],
"title": "ima: verify the previous kernel\u0027s IMA buffer lies in addressable RAM",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-43129",
"datePublished": "2026-05-06T11:27:18.180Z",
"dateReserved": "2026-05-01T14:12:55.988Z",
"dateUpdated": "2026-05-07T17:14:21.463Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-43129",
"date": "2026-05-07",
"epss": "0.00018",
"percentile": "0.04678"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2026-43129\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-05-06T12:16:29.963\",\"lastModified\":\"2026-05-06T13:07:51.607\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nima: verify the previous kernel\u0027s IMA buffer lies in addressable RAM\\n\\nPatch series \\\"Address page fault in ima_restore_measurement_list()\\\", v3.\\n\\nWhen the second-stage kernel is booted via kexec with a limiting command\\nline such as \\\"mem=\u003csize\u003e\\\" we observe a pafe fault that happens.\\n\\n BUG: unable to handle page fault for address: ffff97793ff47000\\n RIP: ima_restore_measurement_list+0xdc/0x45a\\n #PF: error_code(0x0000) not-present page\\n\\nThis happens on x86_64 only, as this is already fixed in aarch64 in\\ncommit: cbf9c4b9617b (\\\"of: check previous kernel\u0027s ima-kexec-buffer\\nagainst memory bounds\\\")\\n\\n\\nThis patch (of 3):\\n\\nWhen the second-stage kernel is booted with a limiting command line (e.g. \\n\\\"mem=\u003csize\u003e\\\"), the IMA measurement buffer handed over from the previous\\nkernel may fall outside the addressable RAM of the new kernel. Accessing\\nsuch a buffer can fault during early restore.\\n\\nIntroduce a small generic helper, ima_validate_range(), which verifies\\nthat a physical [start, end] range for the previous-kernel IMA buffer lies\\nwithin addressable memory:\\n\\t- On x86, use pfn_range_is_mapped().\\n\\t- On OF based architectures, use page_is_ram().\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/10d1c75ed4382a8e79874379caa2ead8952734f9\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/5366ec7d2f793ce703c403d7fd4c25a3db365b9d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/9e1f51c1ad57cc76a0e8b5eb27038f8973fff4fa\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/f11d7d088f5ed54b31c6735854c12845eb60eb4a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
}
}
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…
Loading…