
Hohe lokale Krypto: LiteBox v0.1.0 SNP CrngProvider ist public-seed FastRng 0x4d595df4d0f33173
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · litebox-snp-fixed-crng
Klasse: Krypto / Vorhersagbarer Zufallszahlengenerator Reichweite: Lokal (Gast-gegen-Host)
LiteBox v0.1.0 (d8556e3) – Microsoft
SnpLinuxKernel::fill_bytes_crng ist ein prozessglobaler FastRng, der mit dem öffentlichen Seed 0x4d595df4d0f33173 und einem FIXME konstruiert wird, den vertrauenswürdigen Host aufzurufen. FastRng ist dokumentiert als nicht-kryptografischer xorshift* (MAGIC = 0x2545F4914F6CDD1D). Bei diesem Pin verlangt das CrngProvider-Trait weiterhin einen kryptografisch sicheren Strom. Gast-getrandom und /dev/urandom beziehen beide aus diesem mutexgeschützten Generator.
Die Bedrohung durch SEV-SNP ist ein nicht vertrauenswürdiger Host, der C-Bit-private Seiten nicht lesen kann. Ein öffentlicher deterministischer CRNG benötigt keine C-Bit-Umgehung. Jeder, der den Seed gelesen hat (er steht im Crate), kann jedes nachfolgende CRNG-Byte ab der ersten Verwendung oder ab jedem beobachteten Präfix rekonstruieren.
Dieser Überrest ist vorhersagbare Gast-Entropie. Es ist kein RCE, kein Host-Kernel-RCE und kein VMPL0.
| ID | noch keine CVE |
| Klasse | Krypto / Vorhersagbarer Zufallszahlengenerator |
| Reichweite | Lokal (Gast-gegen-Host). Remote nur, wenn ein Gast-Netzwerkdienst Schlüssel aus diesem Strom bezieht |
| CWE | CWE-338, CWE-330 |
| CVSS | Hoch: 7.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N |
| Produkt | microsoft/litebox |
| Betroffen | v0.1.0 (d8556e33676e47244bfefa139c1e9ff95bd67d53) litebox_runner_snp. Post-Tag #1555 3715aa7 (2026-10-08) ist der Fix auf main |
| Auth | nicht vertrauenswürdiger SNP-Hypervisor oder jeder, der den öffentlichen Seed gelesen hat |
| Lizenz | GNU Affero GPL v3.0 |
| Lab | nur 127.0.0.1. Keine SNP-Hardware |
Wer: ein nicht vertrauenswürdiger SNP-Hypervisor oder jeder, der das Crate geklont hat. Opfer ist die SNP-Gast-Workload, die getrandom / urandom als geheim behandelt.
| Methode + Sink | Privileg |
|---|---|
Unabhängiges Python-xorshift* vs. Pin-FastRng mit Seed 0x4d595df4d0f33173 | Identischer 512-Byte-Strom (zwei 256-Byte-getrandom-Chunks). Erste 16 Bytes 25c867c61e62ff15c0e2b0ba4fa70b4c |
Pin-snp_impl.rs weiterhin auf v0.1.0 | FIXME: call into the trusted host to get random bytes. plus FastRng::new_from_seed(0x4d595df4d0f33173) |
| Methode + Sink | Privileg |
|---|---|
Gast-SYS_getrandom -> fill_bytes_crng | nächste 256-Byte-Chunks des öffentlichen xorshift*-Stroms im Gast-Userspace. GRND_RANDOM / GRND_NONBLOCK werden ignoriert |
Gast-read(/dev/urandom) | der selbe mutexgeschützte Strom |
| Hypervisor oder Off-Box-Leser des Seeds | jedes nachfolgende CRNG-Byte ab der ersten Verwendung oder ab jedem beobachteten Präfix, ohne SNP-privaten Speicher zu entschlüsseln |
Gast-TLS / Schlüssel / Nonces, die aus getrandom / urandom bezogen werden | diese Geheimnisse sind vorhersagbar. Ich behaupte keinen bestimmten TLS-Stack |
Keine allein durch den Zufallszahlengenerator.
AT_RANDOM sind im Linux-Shim fest auf DEADBEEF gesetzt (separat, für sich genommen unterhalb von Hoch)0x13374a4159421337) – unterhalb der Schwelleread stdin, write stdio, futex, clock_gettime, clone3, exit) mit kernel-eigenen Pointerngetrandom auf; LVBS verwendet ChaCha20 plus RDRAND plus einen Plattform-Root-Key. SNP ist die Produktionsplattform, die das nicht tutAchtzehn Suchläufe auf v0.1.0. SNP-fill_bytes_crng ist ein spin::mutex um FastRng::new_from_seed(0x4d595df4d0f33173) mit einem FIXME. Linux-Userland und LVBS machen bereits echte Entropie. Ich hatte keine SNP-Hardware. Das Lab kompiliert das Pin-FastRng-Modul, stellt den Strom auf Loopback bereit und gleicht ein unabhängiges Python-Replay ab. #1555 auf main (2026-10-08) stellt diese Funktion auf Host-getrandom um. Dieser Commit ist nicht im Tag.
cd lab
./run.sh
Loopback 127.0.0.1:19120. Compose-Projekt litebox-snp-fixed-crng. Witness LITEBOX-SNP-FIXED-CRNG-WITNESS. Letzte Zeile:
SUCCESS litebox-snp-fixed-crng seed=0x4d595df4d0f33173 python-rust-stream-match=yes pin-FIXME-present=yes first16=25c867c61e62ff15c0e2b0ba4fa70b4c LITEBOX-SNP-FIXED-CRNG-WITNESS
Host-getrandom (oder RDRAND plus ein Plattformgeheimnis) aus fill_bytes_crng aufrufen. Das ist #1555 3715aa7 auf main. Keinen öffentlichen Seed als CrngProvider ausliefern.
Vendor-Intake ist MSRC (https://msrc.microsoft.com/create-report). Kein öffentliches GitHub-Issue auf microsoft/litebox öffnen.
Abraxas Labs – abraxaslabs.tech – github.com/abraxas – @abraxas_null – [email protected]