อัปเดตเบต้าส่วนตัวของ UmbrellaX
ในระหว่างการตรวจสอบความปลอดภัย เราพบปัญหาร้ายแรงในไลบรารีโอเพ่นซอร์สหลายแห่งที่ใช้สำหรับการเข้ารหัสและการสื่อสารที่ปลอดภัย การแก้ไขในท้องถิ่นพร้อมแล้ว แต่ยังต้องมีการยืนยันอย่างครบถ้วนและการตรวจสอบโดยอิสระ ฉันจะไม่ปล่อยเบต้าจนกว่าฉันจะมั่นใจว่าความเสี่ยงเหล่านี้ปิดลงแล้ว
นี่คือรายการทั้งหมดในภาษาธรรมดา เปิดส่วนเพื่อดูว่ามีอะไรผิดพลาด ตัวอย่างในชีวิตประจำวัน และการอ้างอิงแพตช์
ข้อมูลลับของกลุ่มที่ถอดรหัสอาจทิ้งสำเนาเพิ่มเติมไว้ในหน่วยความจำหรือการวินิจฉัย ข้อความต้อนรับ ข้อความต้อนรับ ข้อเสนอ เส้นทางการอัปเดต คีย์ในเครื่องหายไป ความล้มเหลวของตัวเลขสุ่ม เวลาของระบบที่ผิดปกติ และขีดจำกัดของยุคอาจปิดแอปแทนที่จะส่งคืนข้อผิดพลาดที่ปลอดภัย การตรวจสอบความสมบูรณ์ของแผนผังและความยาวเส้นทางบางอย่างก็ไม่รับประกันในทุกเส้นทางที่เผยแพร่
ตัวอย่างเช่น การอัปเดตกลุ่มที่ใช้งานไม่ได้ที่ได้รับจากเครือข่ายจะต้องถูกปฏิเสธโดยไม่ต้องปิด Messenger ข้ามการตรวจสอบความสมบูรณ์ หรือเปิดเผยไบต์ของข้อความในรายงานข้อขัดข้อง
เตรียมการแก้ไขเฉพาะที่แล้ว อยู่ระหว่างการตรวจสอบ
รายละเอียดทางเทคนิค: openmls 0.8.1 | UMB-117, UMB-118, UMB-120, UMB-121, UMB-125, UMB-128, UMB-129, UMB-130, UMB-131, UMB-132, UMB-133, UMB-134, UMB-135, UMB-136, UMB-137, UMB-138, UMB-139
บันทึก MLS ที่ถูกลบหรือแทนที่อาจทำให้สำเนาต่อเนื่องหรือเนื้อหาข้อเสนอที่ซ่อนอยู่ในหน่วยความจำ สแน็ปช็อตกลุ่มจำเป็นต้องมีการแทนที่อะตอมมิกที่มีการกำหนดขอบเขต การเข้าถึงการแก้ไขข้อบกพร่องจำเป็นต้องมีการแก้ไข และโหมดการคงอยู่เสริมที่จัดเก็บข้อความที่เข้ารหัสที่อ่านได้แทนข้อมูลที่เข้ารหัสที่ผ่านการรับรองความถูกต้อง
ตัวอย่างเช่น การลบกลุ่มจะต้องลบข้อเสนอที่รอดำเนินการที่ซ่อนอยู่ออกด้วย และตัวเลือกพื้นที่เก็บข้อมูลจะต้องไม่ดูถูกเข้ารหัสเมื่อแปลงข้อมูลเป็นข้อความที่อ่านได้เท่านั้น
เตรียมการแก้ไขเฉพาะที่แล้ว อยู่ระหว่างการตรวจสอบ
รายละเอียดทางเทคนิค: openmls_memory_storage 0.5.0 | UMB-119, UMB-212, UMB-213, UMB-214
แบ็กเอนด์เสริมที่ไม่ได้ใช้ยังคงดึงแพ็คเกจที่มีช่องโหว่เข้าสู่รายการการพึ่งพา วัสดุส่วนตัวของ HPKE ยังต้องการการเรียบเรียงและการล้างหน่วยความจำที่แข็งแกร่งยิ่งขึ้น
ตัวอย่างเช่น แบ็กเอนด์ที่เราไม่ได้ใช้ไม่ควรนำแพ็คเกจที่รู้จักซึ่งมีช่องโหว่มาสู่รุ่น และการพิมพ์ข้อผิดพลาดจะต้องไม่มีคีย์ส่วนตัวของ HPKE
เตรียมการแก้ไขเฉพาะที่แล้ว อยู่ระหว่างการตรวจสอบ
รายละเอียดทางเทคนิค: hpke-rs 0.6.1 | RUSTSEC-2026-0124
ตัวสร้างแบบสุ่มและค่า HPKE ชั่วคราวจำเป็นต้องมีการล้างข้อมูลจริง การถอดรหัสที่ได้รับการรับรองความถูกต้องล้มเหลวอาจทำให้บัฟเฟอร์ข้อความธรรมดาที่แก้ไขบางส่วนอยู่ในหน่วยความจำ
ตัวอย่างเช่น เมื่อข้อความไม่ผ่านการรับรองความถูกต้อง ควรลบบัฟเฟอร์ข้อความธรรมดาที่ประมวลผลครึ่งหนึ่งทันที
เตรียมการแก้ไขเฉพาะที่แล้ว อยู่ระหว่างการตรวจสอบ
รายละเอียดทางเทคนิค: hpke-rs-rust-crypto 0.6.1 | UMB-122
สถานะสุ่ม เอาต์พุตการรับคีย์ ไบต์คีย์ส่วนตัว และบัฟเฟอร์การเข้ารหัสที่ล้มเหลว จำเป็นต้องล้างข้อมูล ความยาว nonce ที่ไม่ถูกต้องและคำขอแลกเปลี่ยนคีย์ที่ไม่รองรับอาจเข้าถึงเส้นทางสิ้นสุดกระบวนการได้
ตัวอย่างเช่น nonce ที่มีรูปแบบไม่ถูกต้องจะต้องส่งคืนข้อผิดพลาดปกติแทนการปิด Messenger
เตรียมการแก้ไขเฉพาะที่แล้ว อยู่ระหว่างการตรวจสอบ
รายละเอียดทางเทคนิค: openmls_rust_crypto 0.5.1 | UMB-122, UMB-123, UMB-124
การเซ็นชื่อ nonce การแชร์ ไบต์สเกลาร์ และสตริงลับที่อ่านได้ชั่วคราวจำเป็นต้องล้างข้อมูลบนเส้นทางความสำเร็จและข้อผิดพลาด คุณลักษณะที่ไม่ได้ใช้ยังดึงห่วงโซ่การพึ่งพาที่ไม่ได้รับการดูแลด้วย
ตัวอย่างเช่น ค่าชั่วคราวที่ใช้สำหรับลายเซ็นกลุ่มไม่ควรสามารถอ่านได้ในหน่วยความจำหลังจากการเซ็นชื่อเสร็จสิ้นหรือล้มเหลว
เตรียมการแก้ไขเฉพาะที่แล้ว อยู่ระหว่างการตรวจสอบ
รายละเอียดทางเทคนิค: frost-core 3.0.0 | local audited patch
คีย์สุ่มเทียมที่ถูกทิ้งและบล็อกส่วนขยายคีย์ระดับกลางอาจยังคงอยู่ในหน่วยความจำหลังจากสร้างคีย์สุดท้ายแล้ว
ตัวอย่างเช่น หลังจากที่คีย์เซสชันพร้อมแล้ว ส่วนผสมชั่วคราวที่ใช้ในการรับมาก็ควรถูกลบทิ้ง
เตรียมการแก้ไขเฉพาะที่แล้ว อยู่ระหว่างการตรวจสอบ
รายละเอียดทางเทคนิค: hkdf 0.12.4 | local compatibility backport
บล็อกคีย์ที่ได้รับ การย่อยคีย์ขนาดใหญ่ และผลลัพธ์แฮชภายในในสาขา HMAC ที่เข้ากันได้อาจยังคงอยู่ในหน่วยความจำธรรมดา
ตัวอย่างเช่น การตรวจสอบว่าข้อความมีความถูกต้องไม่ควรทิ้งไบต์ที่ได้รับมาจากคีย์ที่นำมาใช้ซ้ำได้
เตรียมการแก้ไขเฉพาะที่แล้ว อยู่ระหว่างการตรวจสอบ
รายละเอียดทางเทคนิค: hmac 0.12.1 | local compatibility backport
ตัวเลือกการล้างข้อมูลที่มีอยู่จะถูกปิดใช้งานตามค่าเริ่มต้น และครอบคลุมเฉพาะส่วนหนึ่งของสถานะที่ได้รับคีย์ชั่วคราวและที่จัดเก็บไว้เท่านั้น
ตัวอย่างเช่น การตรวจสอบการรับรองความถูกต้องควรล้างบล็อกที่ได้รับคีย์ทั้งแบบชั่วคราวและที่จัดเก็บไว้
เตรียมการแก้ไขเฉพาะที่แล้ว อยู่ระหว่างการตรวจสอบ
รายละเอียดทางเทคนิค: hmac 0.13.0 | local audited patch
สถานะการทำงานของ SHA-256 และ SHA-512 และตัวนับบล็อกจำเป็นต้องล้างข้อมูลแบบดรอปไทม์ในสาขาที่เข้ากันได้
ตัวอย่างเช่น การแฮชความลับในระหว่างการรับคีย์ไม่ควรปล่อยให้สถานะการทำงานของแฮชเอ็นจิ้นอยู่ในหน่วยความจำที่นำมาใช้ซ้ำได้
เตรียมการแก้ไขเฉพาะที่แล้ว อยู่ระหว่างการตรวจสอบ
รายละเอียดทางเทคนิค: sha2 0.10.9 | local compatibility backport
อินพุตที่เสียหายอาจร้องขอการจัดสรรจำนวนมาก อ่านเกินฟิลด์ที่ประกาศ วนซ้ำโดยไม่มีความคืบหน้า หรือทำให้เกิดโอเวอร์โฟลว์และเส้นทางตื่นตระหนก การวินิจฉัยเวกเตอร์ที่เป็นความลับและการป้อนข้อมูลที่ล้มเหลวบางส่วนยังจำเป็นต้องมีการล้างข้อมูลอีกด้วย
ตัวอย่างเช่น ข้อความเล็กๆ ที่อ้างว่ามีฟิลด์ขนาดใหญ่อย่างไม่ถูกต้องจะต้องไม่ใช้หน่วยความจำขนาดใหญ่หรือทำให้แอปติดอยู่ในลูปไม่รู้จบ
เตรียมการแก้ไขเฉพาะที่แล้ว อยู่ระหว่างการตรวจสอบ
รายละเอียดทางเทคนิค: tls_codec 0.4.2 | local audited patch
คีย์ความสมบูรณ์ของข้อความ STUN สามารถพิมพ์ได้ในการวินิจฉัย และไม่ได้ถูกลบอย่างชัดเจนด้วยข้อความรับรองชั่วคราว
ตัวอย่างเช่น บันทึกข้อผิดพลาดในการเชื่อมต่อต้องไม่เปิดเผยความลับที่ใช้ในการตรวจสอบคำขอรีเลย์
เตรียมการแก้ไขเฉพาะที่แล้ว อยู่ระหว่างการตรวจสอบ
รายละเอียดทางเทคนิค: stun 0.17.1 | audit patch 6e5cbb42
รหัสผ่าน TURN ที่มีอายุยาวนานถูกจัดเก็บเป็นสตริงธรรมดา และจำเป็นต้องลบออกอย่างชัดเจนเมื่อไคลเอ็นต์ถูกทำลาย
ตัวอย่างเช่น การวางสายไม่ควรทิ้งรหัสผ่านรีเลย์ไว้ในหน่วยความจำของออบเจ็กต์ไคลเอ็นต์เก่า
เตรียมการแก้ไขเฉพาะที่แล้ว อยู่ระหว่างการตรวจสอบ
รายละเอียดทางเทคนิค: turn 0.17.1 | audit patch 6e5cbb42
ชื่อผู้ใช้และรหัสผ่าน TURN ถูกจัดเก็บเป็นสตริงธรรมดาและพิมพ์โดยอัตโนมัติในเอาต์พุตการแก้ไขจุดบกพร่อง ICE
ตัวอย่างเช่น รายงานการเชื่อมต่อการโทรอาจแจ้งว่ามีข้อมูลรับรองอยู่ แต่จะต้องไม่พิมพ์ชื่อผู้ใช้และรหัสผ่าน
เตรียมการแก้ไขเฉพาะที่แล้ว อยู่ระหว่างการตรวจสอบ
รายละเอียดทางเทคนิค: webrtc-ice 0.17.1 | audit patch 6e5cbb42
อินพุตที่ได้รับมาจากคีย์สื่อ คีย์ที่ได้รับ เกลือ SRTP/SRTCP ที่เก็บไว้ และสถานะการทำงานของการเข้ารหัสจำเป็นต้องมีการล้างข้อมูลที่เชื่อถือได้
ตัวอย่างเช่น หลังจากการโทรที่เข้ารหัสสิ้นสุดลง คีย์สื่อชั่วคราวและเกลือไม่ควรคงอยู่ในบัฟเฟอร์ปกติ
เตรียมการแก้ไขเฉพาะที่แล้ว อยู่ระหว่างการตรวจสอบ
รายละเอียดทางเทคนิค: webrtc-srtp 0.17.1 | audit patch 6e5cbb42
สำหรับ beta notes และ access updates โปรดติดตามบัญชี X ส่วนตัวของฉัน