
High local crypto: LiteBox v0.1.0 SNP CrngProvider public-seed FastRng 0x4d595df4d0f33173 है
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · litebox-snp-fixed-crng
वर्ग: क्रिप्टो / पूर्वानुमेय RNG पहुँच: स्थानीय (guest-vs-host)
LiteBox v0.1.0 (d8556e3) - Microsoft
SnpLinuxKernel::fill_bytes_crng एक प्रोसेस-ग्लोबल FastRng है जिसे सार्वजनिक seed 0x4d595df4d0f33173 के साथ बनाया गया है और इसमें विश्वसनीय host को कॉल करने के लिए एक FIXME है। FastRng को गैर-क्रिप्टोग्राफिक xorshift* के रूप में प्रलेखित किया गया है (MAGIC = 0x2545F4914F6CDD1D)। इस pin पर CrngProvider trait अभी भी एक क्रिप्टोग्राफिक रूप से सुरक्षित स्ट्रीम की मांग करता है। Guest getrandom और /dev/urandom दोनों इस mutexed जनरेटर से डेटा लेते हैं।
SEV-SNP का खतरा एक अविश्वसनीय host है जो C-bit निजी पृष्ठों को पढ़ नहीं सकता। एक सार्वजनिक नियतात्मक CRNG को C-bit bypass की आवश्यकता नहीं होती। जिसने भी seed पढ़ा है (यह crate में है) वह पहले उपयोग से, या किसी भी देखे गए prefix से, हर बाद के CRNG बाइट को दोबारा उत्पन्न कर सकता है।
यह अवशेष पूर्वानुमेय guest entropy है। यह RCE नहीं है, host-kernel RCE नहीं है, और VMPL0 नहीं है।
| ID | अभी तक कोई CVE नहीं |
| वर्ग | क्रिप्टो / पूर्वानुमेय RNG |
| पहुँच | स्थानीय (guest-vs-host)। दूरस्थ केवल तब यदि कोई guest नेटवर्क सेवा इस स्ट्रीम से कुंजियाँ लेती है |
| CWE | CWE-338, CWE-330 |
| CVSS | उच्च: 7.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N |
| उत्पाद | microsoft/litebox |
| प्रभावित | v0.1.0 (d8556e33676e47244bfefa139c1e9ff95bd67d53) litebox_runner_snp। पोस्ट-टैग #1555 3715aa7 (2026-10-08) main पर फिक्स है |
| प्रमाणीकरण | अविश्वसनीय SNP hypervisor, या कोई भी जिसने सार्वजनिक seed पढ़ा है |
| लाइसेंस | GNU Affero GPL v3.0 |
| लैब | केवल 127.0.0.1। कोई SNP हार्डवेयर नहीं |
कौन: एक अविश्वसनीय SNP hypervisor, या कोई भी जिसने crate को क्लोन किया है। पीड़ित वह SNP guest वर्कलोड है जो getrandom / urandom को गुप्त मानता है।
| विधि + sink | विशेषाधिकार |
|---|---|
स्वतंत्र Python xorshift* बनाम pin FastRng seed 0x4d595df4d0f33173 के साथ | समान 512-बाइट स्ट्रीम (दो 256-बाइट getrandom खंड)। पहले 16 बाइट 25c867c61e62ff15c0e2b0ba4fa70b4c |
Pin snp_impl.rs अभी भी v0.1.0 पर | FIXME: call into the trusted host to get random bytes. साथ ही FastRng::new_from_seed(0x4d595df4d0f33173) |
| विधि + sink | विशेषाधिकार |
|---|---|
Guest SYS_getrandom -> fill_bytes_crng | guest userspace में सार्वजनिक xorshift* स्ट्रीम के अगले 256-बाइट खंड। GRND_RANDOM / GRND_NONBLOCK को अनदेखा किया जाता है |
Guest read(/dev/urandom) | वही mutexed स्ट्रीम |
| Hypervisor या seed का off-box पाठक | पहले उपयोग से, या किसी भी देखे गए prefix से, हर बाद के CRNG बाइट, SNP निजी मेमोरी को डिक्रिप्ट किए बिना |
Guest TLS / कुंजियाँ / nonces जो getrandom / urandom से लिए गए हैं | वे रहस्य पूर्वानुमेय हैं। मैं किसी विशिष्ट TLS स्टैक का दावा नहीं करता |
अकेले RNG से कोई नहीं।
AT_RANDOM Linux shim पर हार्डकोडेड DEADBEEF हैं (अलग, अपने आप में High से नीचे)0x13374a4159421337) का उपयोग करते हैं - बार से नीचेread stdin, write stdio, futex, clock_gettime, clone3, exit) kernel-owned pointers के साथgetrandom को कॉल करते हैं; LVBS ChaCha20 के साथ-साथ RDRAND और एक प्लेटफ़ॉर्म रूट कुंजी का उपयोग करता है। SNP वह उत्पादन प्लेटफ़ॉर्म है जो ऐसा नहीं करताv0.1.0 पर अठारह hunts। SNP fill_bytes_crng एक spin::mutex है जो FastRng::new_from_seed(0x4d595df4d0f33173) के चारों ओर है और इसमें एक FIXME है। Linux userland और LVBS पहले से ही वास्तविक entropy का उपयोग करते हैं। मेरे पास SNP हार्डवेयर नहीं था। लैब pin FastRng मॉड्यूल को कंपाइल करती है, loopback पर स्ट्रीम परोसती है, और एक स्वतंत्र Python replay से मिलान करती है। main पर #1555 (2026-10-08) इस फ़ंक्शन को host getrandom पर स्विच करता है। वह commit टैग में नहीं है।
cd lab
./run.sh
Loopback 127.0.0.1:19120। Compose प्रोजेक्ट litebox-snp-fixed-crng। Witness LITEBOX-SNP-FIXED-CRNG-WITNESS। अंतिम पंक्ति:
SUCCESS litebox-snp-fixed-crng seed=0x4d595df4d0f33173 python-rust-stream-match=yes pin-FIXME-present=yes first16=25c867c61e62ff15c0e2b0ba4fa70b4c LITEBOX-SNP-FIXED-CRNG-WITNESS
fill_bytes_crng से host getrandom (या RDRAND के साथ-साथ एक प्लेटफ़ॉर्म रहस्य) को कॉल करें। वह main पर #1555 3715aa7 है। CrngProvider के रूप में सार्वजनिक seed को शिप न करें।
Vendor intake MSRC है (https://msrc.microsoft.com/create-report)। microsoft/litebox पर सार्वजनिक GitHub issue न खोलें।
Abraxas Labs - abraxaslabs.tech - github.com/abraxas - @abraxas_null - [email protected]