In the Linux kernel, the following vulnerability has been resolved: ubifs: fix out-of-bounds read in signature length check ubifs_sb_verify_signature() bounds the on-disk ubifs_sig_node->len field before handing the signature payload to verify_pkcs7_signature(), but the check has the wrong sign: if (le32_to_cpu(signode->len) > snod->len + sizeof(struct ubifs_sig_node)) The signature bytes start sizeof(struct ubifs_sig_node) (UBIFS_SIG_NODE_SZ, 64 bytes) into the node, so the payload is at most snod->len - sizeof(struct ubifs_sig_node) bytes long. Adding the header size instead of subtracting it accepts a declared length up to 2 * UBIFS_SIG_NODE_SZ larger than the node actually holds -- past the end of c->sbuf, which is vmalloc(c->leb_size). verify_pkcs7_signature() -> pkcs7_parse_message() -> asn1_ber_decoder() is then handed that inflated length and reads beyond the allocation while walking the DER headers. The node length comes straight from the mounted image, so a crafted signed UBIFS image reaches this via ubifs_read_superblock() before the signature is cryptographically checked. snod->len is guaranteed to be >= UBIFS_SIG_NODE_SZ by the node scanner (c->ranges[UBIFS_SIG_NODE].min_len == UBIFS_SIG_NODE_SZ), so the corrected subtraction cannot underflow. Legitimately signed images are unaffected: a correct superblock never declares a signature longer than the node it is embedded in.
Fix
Nothing published yet: no patch, vendor advisory or mitigation reference on NVD, no vendor advisory in the News for this CVE, not in CISA's KEV, no fixed package version. BaselineWatch does not guess at one.
Change history 2
- StatusReceived → PublishedNVD modified 2026-10-19 08:51
- First seenCVSS 7.7NVD modified 2026-10-19 09:18
Affected (CPE criteria) 0
NVD has not attached CPE configurations yet.
References 8
- https://git.kernel.org/stable/c/11abc34698cb3172badf8aa12e623f1bac98bbd8
- https://git.kernel.org/stable/c/37a9d25a563f5f9103282954ce573c4a61321e7c
- https://git.kernel.org/stable/c/83e1aa9f5f906c9b1f4949d0521f0f950a159d96
- https://git.kernel.org/stable/c/8cc3da72cf57acb4b77442ea8cec48425dff7c06
- https://git.kernel.org/stable/c/95d27c1708bb6e8823c8e7c623f9abc2a91bf4bf
- https://git.kernel.org/stable/c/a1dc246f98bb94233effa4fa3ec7bf84700bb7d1
- https://git.kernel.org/stable/c/ab7405bd86331cc2dbc8201699d4adc33bea75e7
- https://git.kernel.org/stable/c/f76b79d6e42af20682495bccd22f72c7164b0018