0xCyberstan/CVE-2026-53360-POC
PoC files
4 filesFile viewing is interactive and short-lived. Downloads are password-protected ZIP archives using password eip.
Analysis
Technical assessment
A guest kernel module (trigger.c) that exploits CVE-2026-53360, a heap out-of-bounds vulnerability in the Linux kernel's KVM SEV-SNP Page State Change (PSC) handler. The module crafts malicious VMGEXIT requests to cause the host to read and write beyond an allocated buffer, leaking host heap layout and corrupting adjacent slab objects.
Backdoor review
No backdoor observed in reviewed code
The artifact is a proof-of-concept (PoC) for CVE-2026-53360, a Linux kernel vulnerability in KVM's SEV-SNP PSC handling. It consists of a README, a Makefile, and a guest kernel module (trigger.c). The code performs only the described vulnerability demonstration: it crafts malformed PSC requests to trigger out-of-bounds reads and writes on the host kernel heap. No backdoor, trojan, or deceptive behavior was observed. The module checks for an SEV-SNP environment, runs four stages of probing/writing/scanning/spraying, and unloads itself. There is no persistence, credential theft, unrelated remote access, or concealed payload.
Classification basis and observed behavior
Classification basis
The artifact contains a complete, compilable kernel module (trigger.c) that actively exploits the vulnerability by sending crafted VMGEXIT requests to the host hypervisor, causing out-of-bounds reads and writes. The README explicitly describes it as a 'Proof of concept' that 'corrupts host kernel heap memory' and 'leaks host heap layout information', and the code implements the described exploitation stages.
README.md:3-7trigger.c:1-13trigger.c:344-427Requirements
- The attacker must control a guest VM running on an AMD SEV-SNP enabled host.
README.md:30-31 - The host kernel must be vulnerable (versions 6.10 through 7.1-rc5, before the fix).
README.md:15-16 - The attacker must be able to load a kernel module (trigger.ko) inside the guest VM.
README.md:210-215
Observed behavior
- The module crafts a PSC request with a small allocation size (24 bytes) and a large end_entry value, causing the host to read and write past the allocated buffer into adjacent kernel heap objects.
trigger.c:112-139trigger.c:67-69 - Stage 1 probes out-of-bounds entries to map the host heap (zero vs. non-zero memory).
trigger.c:169-210 - Stage 2 demonstrates a persistent out-of-bounds write by writing a value into an adjacent slab object and confirming it is skipped on a subsequent request.
trigger.c:218-276 - Stage 3 performs a single scan with end_entry=200 to measure the reach of the out-of-bounds access.
trigger.c:282-302 - Stage 4 fires 200 VMGEXITs with out-of-bounds entries to repeatedly trigger the vulnerability and generate KASAN reports on the host.
trigger.c:310-342
Behaviors behind the backdoor verdict
Observables
- Vulnerability Demonstration
- trigger.c performs out-of-bounds PSC requests to demonstrate CVE-2026-53360The code matches the described PoC behavior: it allocates a 24-byte scratch buffer, sets end_entry beyond the buffer size, and issues VMGEXITs to cause host kernel slab out-of-bounds access.
trigger.c:67-70trigger.c:112-139trigger.c:169-210trigger.c:218-276trigger.c:282-302trigger.c:310-342 - Environment Check
- trigger.c verifies SEV-SNP guest environment via CPUID before proceedingThe module refuses to run outside an SEV-SNP guest, limiting its effect to the intended vulnerable host configuration.
trigger.c:355-364 - Self Termination
- trigger.c init function returns -EAGAIN, causing the module to unload immediately after executionThe module does not persist in the kernel; it runs its stages and exits, leaving no resident code.
trigger.c:425-426
What the analysis did not establish
- The evidence includes a complete README and trigger.c source code, but one file (LICENSE) is omitted from the text content, though its metadata is present. This does not affect classification.
- The analysis is based solely on the provided source code and documentation; the code was not executed, and its effectiveness is not verified.
- One file (LICENSE) was classified as binary and not analyzed for text content; it is a standard GPL-2.0 license file per the README and is unlikely to contain executable code.
- The review is limited to the supplied text evidence; no dynamic analysis or execution was performed.
This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.