{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2023-53769","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-12-08T01:18:04.281Z","datePublished":"2025-12-08T01:19:32.417Z","dateUpdated":"2026-08-05T09:15:56.461Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T09:15:56.461Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nvirt/coco/sev-guest: Double-buffer messages\n\nThe encryption algorithms read and write directly to shared unencrypted\nmemory, which may leak information as well as permit the host to tamper\nwith the message integrity. Instead, copy whole messages in or out as\nneeded before doing any computation on them."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","baseScore":9.3,"baseSeverity":"CRITICAL"},"scenarios":[{"lang":"en","value":"AV:L - The adversary is the untrusted hypervisor, which attacks the guest kernel through the local shared-memory/VMGEXIT interface (host-writable `set_memory_decrypted()` pages), not via the network stack. This is the standard AV:L mapping for hypervisor-to-confidential-guest attacks.\nAC:L - The replay/tamper attack requires no race at all — the host rewrites both shared headers while the vCPU is descheduled after the VMGEXIT — and for the `msg_sz` TOCTOU the hypervisor fully controls guest scheduling (APIC-timer preemption, NPT-fault single-stepping, concurrent writes from another core), so it wins the check-vs-use window deterministically.\nPR:N - SEV-SNP's entire security premise is that the hypervisor holds zero privilege within the guest's security authority, so the attacker needs no credentials in the vulnerable component; it only waits for the attestation request that every SNP guest issues automatically at boot, or forces one by resetting the guest.\nUI:N - No human user must act — the guest request is issued by automated attestation/disk-unlock agents during normal boot, and the host can induce it at will by rebooting the VM.\nS:C - Exploitation breaches the hardware-enforced SEV-SNP boundary, giving a distinct security authority (the hypervisor) read and write reach into guest-protected resources, and a replayed attestation report additionally deceives a third-party remote verifier into releasing secrets — impact well beyond the vulnerable driver's own scope.\nC:H - The commit states outright that performing crypto directly in shared memory \"may leak information,\" exposing guest secrets including `SNP_GET_DERIVED_KEY` material used to seal guest disk-encryption keys; the `msg_sz` TOCTOU additionally drags ~64 KB of adjacent private guest memory through the cipher and yields heap corruption leverageable for further disclosure.\nI:H - The host controls both sides of the sequence-number comparison and the decryption IV, letting it replay stale authenticated attestation and derived-key responses and thereby defeat attestation entirely; the `msg_sz` TOCTOU is additionally a length-controlled out-of-bounds write of up to ~64 KB into a kmalloc'd buffer and into an 80-byte on-stack buffer in `get_derived_key()`.\nA:H - The out-of-bounds GCM write overruns the 16 KB guest kernel stack by up to ~64 KB (and smashes the slab in the report paths), guaranteeing a guest kernel panic; failure paths also invoke `snp_disable_vmpck()`, permanently zeroing the VMPCK and killing attestation for the VM's lifetime."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/virt/coco/sev-guest/sev-guest.c"],"versions":[{"version":"d5af44dde5461d125d1602ac913ab5c6bdf09b8b","lessThan":"577a64725bfd77645986168e953d405067ee565b","status":"affected","versionType":"git"},{"version":"d5af44dde5461d125d1602ac913ab5c6bdf09b8b","lessThan":"c27dafc4aa50a29ec927b3aa84ac7b430071f682","status":"affected","versionType":"git"},{"version":"d5af44dde5461d125d1602ac913ab5c6bdf09b8b","lessThan":"4b69c63f716cfda38e1210e65b68f67f6cee2ddf","status":"affected","versionType":"git"},{"version":"d5af44dde5461d125d1602ac913ab5c6bdf09b8b","lessThan":"965006103a14703cc42043bbf9b5e0cdf7a468ad","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/virt/coco/sev-guest/sev-guest.c"],"versions":[{"version":"5.19","status":"affected"},{"version":"0","lessThan":"5.19","status":"unaffected","versionType":"semver"},{"version":"6.1.28","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.2.15","lessThanOrEqual":"6.2.*","status":"unaffected","versionType":"semver"},{"version":"6.3.2","lessThanOrEqual":"6.3.*","status":"unaffected","versionType":"semver"},{"version":"6.4","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.19","versionEndExcluding":"6.1.28"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.19","versionEndExcluding":"6.2.15"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.19","versionEndExcluding":"6.3.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.19","versionEndExcluding":"6.4"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/577a64725bfd77645986168e953d405067ee565b"},{"url":"https://git.kernel.org/stable/c/c27dafc4aa50a29ec927b3aa84ac7b430071f682"},{"url":"https://git.kernel.org/stable/c/4b69c63f716cfda38e1210e65b68f67f6cee2ddf"},{"url":"https://git.kernel.org/stable/c/965006103a14703cc42043bbf9b5e0cdf7a468ad"}],"title":"virt/coco/sev-guest: Double-buffer messages","x_generator":{"engine":"bippy-1.2.0"}}}}