| 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-2022-49698: netfilter: use get_random_u32 instead of prandom |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| netfilter: use get_random_u32 instead of prandom |
| |
| bh might occur while updating per-cpu rnd_state from user context, |
| ie. local_out path. |
| |
| BUG: using smp_processor_id() in preemptible [00000000] code: nginx/2725 |
| caller is nft_ng_random_eval+0x24/0x54 [nft_numgen] |
| Call Trace: |
| check_preemption_disabled+0xde/0xe0 |
| nft_ng_random_eval+0x24/0x54 [nft_numgen] |
| |
| Use the random driver instead, this also avoids need for local prandom |
| state. Moreover, prandom now uses the random driver since d4150779e60f |
| ("random32: use real rng for non-deterministic randomness"). |
| |
| Based on earlier patch from Pablo Neira. |
| |
| The Linux kernel CVE team has assigned CVE-2022-49698 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 4.18 with commit 978d8f9055c3a7c35db2ac99cd2580b993396e33 and fixed in 5.10.127 with commit 15cc30ac2a8d7185f8ebf97dd1ddd90a7c79783b |
| Issue introduced in 4.18 with commit 978d8f9055c3a7c35db2ac99cd2580b993396e33 and fixed in 5.15.51 with commit d0906b0fffc9f19bc42708ca3e84e2089088386c |
| Issue introduced in 4.18 with commit 978d8f9055c3a7c35db2ac99cd2580b993396e33 and fixed in 5.18.8 with commit 6ce71f83f798be7e1ca68707fec449fbecb38852 |
| Issue introduced in 4.18 with commit 978d8f9055c3a7c35db2ac99cd2580b993396e33 and fixed in 5.19 with commit b1fd94e704571f98b21027340eecf821b2bdffba |
| |
| 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-2022-49698 |
| 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/nft_meta.c |
| net/netfilter/nft_numgen.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/15cc30ac2a8d7185f8ebf97dd1ddd90a7c79783b |
| https://git.kernel.org/stable/c/d0906b0fffc9f19bc42708ca3e84e2089088386c |
| https://git.kernel.org/stable/c/6ce71f83f798be7e1ca68707fec449fbecb38852 |
| https://git.kernel.org/stable/c/b1fd94e704571f98b21027340eecf821b2bdffba |