CVE-2026-89720 in Linux
सारांश
द्वारा VulDB • 11/09/2026
Linux kernel में, निम्नलिखित कमजोरी को हल किया गया है:
ubifs: साइनचर लंबाई जाँच में बाउंड्स-आउट (out-of-bounds) रीड की मरम्मत करें
ubifs_sb_verify_signature() डिस्क पर ubifs_sig_node->len फ़ील्ड को सीमित करता है, लेकिन जाँच का चिह्न गलत था:
if (le32_to_cpu(signode->len) > snod->len + sizeof(struct ubifs_sig_node))
साइनचर बाइट्स नोड के sizeof(struct ubifs_sig_node) (UBIFS_SIG_NODE_SZ, 64 बाइट्स) आगे शुरू होती हैं, इसलिए पेलोड अधिकतम
snod->len - sizeof(struct ubifs_sig_node)
बाइट लंबा होता है। हेडर का आकार घटाने के बजाय जोड़ने से नोड में वास्तविक रूप से मौजूद 2 * UBIFS_SIG_NODE_SZ तक अधिक घोषित लंबाई स्वीकार हो जाती है -- c->sbuf की अंत सीमा से परे, जो vmalloc(c->leb_size) है। verify_pkcs7_signature() -> pkcs7_parse_message() -> asn1_ber_decoder() को फिर उस बढ़ी हुई लंबाई सौंप दी जाती है और DER हेडर्स के दौरान पढ़ते समय आवंटन की सीमा से परे रीड किया जाता है। नोड लंबाई सीधे माउंटेड इमेज से आती है, इसलिए एक क्राफ्टेड (crafted) साइनचर्ड UBIFS इमेज ubifs_read_superblock() के माध्यम से इस बिंदु तक पहुँचता है, जिससे पहले साइनचर को क्रिप्टोग्राफिक रूप से जांचा जाता है।
snod->len नोड स्कैनर द्वारा गारंटीकृत होता है कि वह >= UBIFS_SIG_NODE_SZ हो (c->ranges[UBIFS_SIG_NODE].min_len == UBIFS_SIG_NODE_SZ), इसलिए सुधारी गई घटाव अंडरफ्लो नहीं कर सकता। वैध रूप से साइनचर्ड इमेज प्रभावित नहीं होती हैं: एक सही superblock कभी भी उस नोड की तुलना में लंबा साइनचर घोषित नहीं करता है जिसमें वह एम्बेडेड (embedded) होता है।
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.