นำไปใช้กับ
Win 10 Ent LTSB 2016 Win 10 Ent LTSC 2019 Windows 10 IoT Enterprise LTSC 2021 Windows 10, version 22H2, all editions Windows 11 Home and Pro, version 22H2 Windows 11 Enterprise Multi-Session, version 22H2 Windows 11 Enterprise and Education, version 22H2 Windows 11 IoT Enterprise, version 22H2 Windows 11 SE, version 23H2 Windows 11 Home and Pro, version 23H2 Windows 11 Enterprise and Education, version 23H2 Windows 11 Enterprise Multi-Session, version 23H2 Windows 11 version 24H2, all editions Windows 11 version 25H2, all editions Windows Server 2012 ESU Windows Server 2012 R2 ESU Windows Server 2016 Windows Server 2019 Windows Server 2022 Windows Server 2025

วันที่เผยแพร่ต้นฉบับ: วันที่ 21 พฤศจิกายน 2568

KB ID: 5073121

บทนำ

การอัปเดต Windows ที่แก้ไข CVE-2024-30098 เมื่อวันที่ 14 ตุลาคม 2025 พบปัญหาในแอปพลิเคชันที่รหัสไม่ได้ระบุอย่างถูกต้องว่าผู้ให้บริการรายใดกําลังจัดการคีย์สําหรับใบรับรองที่เผยแพร่จากสมาร์ทการ์ดไปยังที่เก็บใบรับรอง การไม่เข้าใจผิดนี้อาจทําให้การดําเนินการเข้ารหัสลับล้มเหลวในบางสถานการณ์ เอกสารนี้จะให้คําแนะนําสําหรับนักพัฒนาแอปพลิเคชันเกี่ยวกับวิธีการตรวจหาตัวจัดการที่ถูกต้องและแก้ไขปัญหาเหล่านี้

บทสรุป

เมื่อใบรับรองถูกเผยแพร่จากสมาร์ทการ์ดไปยังที่เก็บใบรับรอง Windows กระบวนการเผยแพร่สามารถใช้ผู้ให้บริการอย่างใดอย่างหนึ่งต่อไปนี้:

  • Legacy Cryptographic Service Provider (CSP) ซึ่งอาศัยส่วนติดต่อการเขียนแอปพลิเคชัน Cryptographic ดั้งเดิม (CAPI)

  • Key Storage Provider (KSP) ซึ่งอาศัย Cryptography API: Next Generation (CNG) นี่เป็นการแทนที่แบบใหม่ที่เริ่มนํามาใช้ใน Windows Vista

ก่อนที่จะแก้ไข CVE-2024-30098 อัลกอริทึมการเผยแพร่ที่ใช้ CSP สําหรับใบรับรอง RSA และ KSP สําหรับใบรับรองอื่นๆ ทั้งหมด วิธีนี้ไม่ปลอดภัยเนื่องจาก CAPI ไม่สนับสนุนอัลกอริทึมการเข้ารหัสลับที่ทันสมัย ซึ่งจํากัดความสามารถในการรักษาความปลอดภัย

การอัปเดตด้านความปลอดภัยของวันที่ 14 ตุลาคม 2025 ได้ลบการจัดการพิเศษนี้ออก และตอนนี้ KSP ใช้สําหรับใบรับรองทั้งหมด

กําหนดชุด API ที่จะใช้

แอปพลิเคชันที่ใช้คีย์ RSA ที่จัดการโดย CSP อาจล้มเหลวเมื่อคีย์ได้รับการจัดการโดย KSP เพื่อแก้ไขปัญหานี้ แอปพลิเคชันต้องตรวจหาผู้ให้บริการที่จัดการคีย์และใช้ชุด API ที่สอดคล้องกัน (CAPI หรือ CNG)

สิ่งสำคัญ: อย่าใช้ฟังก์ชัน CryptAcquireContextW หรือ CryptAcquireContextA เนื่องจาก API ไม่ได้รับการสนับสนุน ให้ใช้ฟังก์ชัน CryptAcquireCertificatePrivateKey แทน

ฟังก์ชัน CryptAcquireCertificatePrivateKey

การเรียก CryptAcquireCertificatePrivateKey จะส่งกลับหมายเลขอ้างอิง (phCryptProvOrNCryptKey) ของชนิด HCRYPTPROV_OR_NCRYPT_KEY_HANDLE หมายเลขอ้างอิงนี้สามารถเป็น:

  • จุดจับ CSP (HCRYPTPROV): ใช้ฟังก์ชัน CryptoAPI เช่น CryptSignHash

  • จุดจับ CNG (NCRYPT_KEY_HANDLE): ใช้ฟังก์ชัน CNG เช่น NCryptSignHash

หมายเหตุ: เมื่อโทรไปยัง CryptAcquireCertificatePrivateKey ตรวจสอบให้แน่ใจว่าได้รวม CRYPT_ACQUIRE_PREFER_NCRYPT_KEY_FLAG ไว้ในพารามิเตอร์ dwFlags

เมื่อต้องการกําหนดชนิดตัวจัดการ ให้ตรวจสอบค่า pdwKeySpec :

ค่า pdwKeySpec

Crypto API ที่จะใช้

AT_KEYEXCHANGE หรือ AT_SIGNATURE

CAPI

CERT_NCRYPT_KEY_SPEC

CNG

วิธีแก้ไขปัญหาชั่วคราว

วิธีแก้ไขปัญหาชั่วคราวจะพร้อมใช้งานสําหรับลูกค้าที่ได้รับผลกระทบจากการบังคับใช้การเปลี่ยนแปลงนี้ รีจิสทรีคีย์ชั่วคราวจะพร้อมใช้งานเพื่อสลับลักษณะการทํางานจากการบังคับใช้ไปยังโหมดตรวจสอบ

สำคัญ: การสนับสนุนรีจิสทรีคีย์นี้จะถูกลบออกในการอัปเดตเดือนเมษายน 2026

เส้นทางรีจิสทรี

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais

ชนิด

REG_DWORD

ชื่อค่า

DisableCapiOverrideForRSA

ข้อมูลค่า

  • 1 = เปิดใช้งานการแก้ไข

  • 0 หรือแป้นที่เอาออก = ปิดใช้งานการแก้ไข – สลับไปยังโหมดตรวจสอบ

การอ้างอิง

ที่เก็บคีย์และการเรียกคืนคีย์

ฟังก์ชัน CryptAcquireCertificatePrivateKey (wincrypt.h)

CVE-2024-30098 | CVE คุณลักษณะความปลอดภัยของ Windows Cryptographic Services บายพาสช่องโหว่

.

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ