CVE-2022-49698

Summary

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux978d8f9055c3a7c35db2ac99cd2580b993396e33 < 15cc30ac2a8d7185f8ebf97dd1ddd90a7c79783baffected
LinuxLinux978d8f9055c3a7c35db2ac99cd2580b993396e33 < d0906b0fffc9f19bc42708ca3e84e2089088386caffected
LinuxLinux978d8f9055c3a7c35db2ac99cd2580b993396e33 < 6ce71f83f798be7e1ca68707fec449fbecb38852affected
LinuxLinux978d8f9055c3a7c35db2ac99cd2580b993396e33 < b1fd94e704571f98b21027340eecf821b2bdffbaaffected
LinuxLinux4.18affected
LinuxLinux0 < 4.18unaffected
LinuxLinux5.10.127 <= 5.10.*unaffected
LinuxLinux5.15.51 <= 5.15.*unaffected
LinuxLinux5.18.8 <= 5.18.*unaffected
LinuxLinux5.19 <= *unaffected

Weaknesses

References