| From bippy-5f407fcff5a0 Mon Sep 17 00:00:00 2001 |
| From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| To: <linux-cve-announce@vger.kernel.org> |
| Reply-to: <cve@kernel.org>, <linux-kernel@vger.kernel.org> |
| Subject: CVE-2024-26851: netfilter: nf_conntrack_h323: Add protection for bmp length out of range |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| netfilter: nf_conntrack_h323: Add protection for bmp length out of range |
| |
| UBSAN load reports an exception of BRK#5515 SHIFT_ISSUE:Bitwise shifts |
| that are out of bounds for their data type. |
| |
| vmlinux get_bitmap(b=75) + 712 |
| <net/netfilter/nf_conntrack_h323_asn1.c:0> |
| vmlinux decode_seq(bs=0xFFFFFFD008037000, f=0xFFFFFFD008037018, level=134443100) + 1956 |
| <net/netfilter/nf_conntrack_h323_asn1.c:592> |
| vmlinux decode_choice(base=0xFFFFFFD0080370F0, level=23843636) + 1216 |
| <net/netfilter/nf_conntrack_h323_asn1.c:814> |
| vmlinux decode_seq(f=0xFFFFFFD0080371A8, level=134443500) + 812 |
| <net/netfilter/nf_conntrack_h323_asn1.c:576> |
| vmlinux decode_choice(base=0xFFFFFFD008037280, level=0) + 1216 |
| <net/netfilter/nf_conntrack_h323_asn1.c:814> |
| vmlinux DecodeRasMessage() + 304 |
| <net/netfilter/nf_conntrack_h323_asn1.c:833> |
| vmlinux ras_help() + 684 |
| <net/netfilter/nf_conntrack_h323_main.c:1728> |
| vmlinux nf_confirm() + 188 |
| <net/netfilter/nf_conntrack_proto.c:137> |
| |
| Due to abnormal data in skb->data, the extension bitmap length |
| exceeds 32 when decoding ras message then uses the length to make |
| a shift operation. It will change into negative after several loop. |
| UBSAN load could detect a negative shift as an undefined behaviour |
| and reports exception. |
| So we add the protection to avoid the length exceeding 32. Or else |
| it will return out of range error and stop decoding. |
| |
| The Linux kernel CVE team has assigned CVE-2024-26851 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 2.6.17 with commit 5e35941d990123f155b02d5663e51a24f816b6f3 and fixed in 4.19.310 with commit 98db42191329c679f4ca52bec0b319689e1ad8cb |
| Issue introduced in 2.6.17 with commit 5e35941d990123f155b02d5663e51a24f816b6f3 and fixed in 5.4.272 with commit 4bafcc43baf7bcf93566394dbd15726b5b456b7a |
| Issue introduced in 2.6.17 with commit 5e35941d990123f155b02d5663e51a24f816b6f3 and fixed in 5.10.213 with commit ccd1108b16ab572d9bf635586b0925635dbd6bbc |
| Issue introduced in 2.6.17 with commit 5e35941d990123f155b02d5663e51a24f816b6f3 and fixed in 5.15.152 with commit b3c0f553820516ad4b62a9390ecd28d6f73a7b13 |
| Issue introduced in 2.6.17 with commit 5e35941d990123f155b02d5663e51a24f816b6f3 and fixed in 6.1.82 with commit 39001e3c42000e7c2038717af0d33c32319ad591 |
| Issue introduced in 2.6.17 with commit 5e35941d990123f155b02d5663e51a24f816b6f3 and fixed in 6.6.22 with commit 014a807f1cc9c9d5173c1cd935835553b00d211c |
| Issue introduced in 2.6.17 with commit 5e35941d990123f155b02d5663e51a24f816b6f3 and fixed in 6.7.10 with commit 80ee5054435a11c87c9a4f30f1ff750080c96416 |
| Issue introduced in 2.6.17 with commit 5e35941d990123f155b02d5663e51a24f816b6f3 and fixed in 6.8 with commit 767146637efc528b5e3d31297df115e85a2fd362 |
| |
| Please see https://www.kernel.org for a full list of currently supported |
| kernel versions by the kernel community. |
| |
| Unaffected versions might change over time as fixes are backported to |
| older supported kernel versions. The official CVE entry at |
| https://cve.org/CVERecord/?id=CVE-2024-26851 |
| will be updated if fixes are backported, please check that for the most |
| up to date information about this issue. |
| |
| |
| Affected files |
| ============== |
| |
| The file(s) affected by this issue are: |
| net/netfilter/nf_conntrack_h323_asn1.c |
| |
| |
| Mitigation |
| ========== |
| |
| The Linux kernel CVE team recommends that you update to the latest |
| stable kernel version for this, and many other bugfixes. Individual |
| changes are never tested alone, but rather are part of a larger kernel |
| release. Cherry-picking individual commits is not recommended or |
| supported by the Linux kernel community at all. If however, updating to |
| the latest release is impossible, the individual changes to resolve this |
| issue can be found at these commits: |
| https://git.kernel.org/stable/c/98db42191329c679f4ca52bec0b319689e1ad8cb |
| https://git.kernel.org/stable/c/4bafcc43baf7bcf93566394dbd15726b5b456b7a |
| https://git.kernel.org/stable/c/ccd1108b16ab572d9bf635586b0925635dbd6bbc |
| https://git.kernel.org/stable/c/b3c0f553820516ad4b62a9390ecd28d6f73a7b13 |
| https://git.kernel.org/stable/c/39001e3c42000e7c2038717af0d33c32319ad591 |
| https://git.kernel.org/stable/c/014a807f1cc9c9d5173c1cd935835553b00d211c |
| https://git.kernel.org/stable/c/80ee5054435a11c87c9a4f30f1ff750080c96416 |
| https://git.kernel.org/stable/c/767146637efc528b5e3d31297df115e85a2fd362 |