CVE-2026-23416
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
mm/mseal: update VMA end correctly on merge
Previously we stored the end of the current VMA in curr_end, and then upon iterating to the next VMA updated curr_start to curr_end to advance to the next VMA.
However, this doesn't take into account the fact that a VMA might be updated due to a merge by vma_modify_flags(), which can result in curr_end being stale and thus, upon setting curr_start to curr_end, ending up with an incorrect curr_start on the next iteration.
Resolve the issue by setting curr_end to vma->vm_end unconditionally to ensure this value remains updated should this occur.
While we're here, eliminate this entire class of bug by simply setting const curr_[start/end] to be clamped to the input range and VMAs, which also happens to simplify the logic.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 6c2da14ae1e0a0146587381594559027bd46c059 < 40b3f4700e5535fbe74738cebb9379a40ec66bed | affected |
| Linux | Linux | 6c2da14ae1e0a0146587381594559027bd46c059 < 83737e34b83a23b2a9bcf586b058b2c2a54c7c6b | affected |
| Linux | Linux | 6c2da14ae1e0a0146587381594559027bd46c059 < 2697dd8ae721db4f6a53d4f4cbd438212a80f8dc | affected |
| Linux | Linux | 6.17 | affected |
| Linux | Linux | 0 < 6.17 | unaffected |
| Linux | Linux | 6.18.21 <= 6.18.* | unaffected |
| Linux | Linux | 6.19.11 <= 6.19.* | unaffected |
| Linux | Linux | 7.0 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/40b3f4700e5535fbe74738cebb9379a40ec66bed
- https://git.kernel.org/stable/c/83737e34b83a23b2a9bcf586b058b2c2a54c7c6b
- https://git.kernel.org/stable/c/2697dd8ae721db4f6a53d4f4cbd438212a80f8dc
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.