by: Antonius
Country: Indonesia
https://www.bluedragonsec.com — https://github.com/bluedragonsecurity
I discovered a vulnerability in linux kernel mseal subsystem affecting linux kernel 6.17- linux kernel 7.0 rc5.
Here’s the poc :
https://github.com/bluedragonsecurity/CVE-2026-23416-POC
An invariant violation (VM_WARN_ON_VMG) fires at mm/vma.c:830 inside vma_merge_existing_range() when mseal(2) is called with a range spanning two adjacent VMAs where one has VM_SEALED set and the other does not.
mseal(2) -> do_mseal() [mm/mseal.c] -> mseal_apply() -> vma_modify_flags() [mm/vma.c] -> vma_modify() -> vma_merge_existing_range() -> VM_WARN_ON_VMG fires at line 830
VM_WARN_ON_VMG(middle && ((middle != prev && vmg->start != middle->vm_start) || vmg->end > middle->vm_end))
vmg->start = 0x21da8000 (original mseal start, not clamped) middle->vm_start = 0x21de6000 (VMA-B, not sealed) -> vmg->start != middle->vm_start -> WARN fires
do_mseal() calls vma_modify_flags() with the original mseal() start address without clamping it to the current VMA’s vm_start when the mseal range spans two VMAs with different VM_SEALED states. This causes vma_merge_existing_range() to receive an inconsistent vmg state.
REFERENCES
This is the personal web of Antonius Wisdom, a security researcher based in Indonesia. I do low level vulnerability research & hardware hacking.
Hobbies