CVE-2022-50310 in Linux
Résumé
par VulDB • 20/05/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
ip6mr : correction d'un problème UAF (Use-After-Free) dans ip6mr_sk_done() lorsque addrconf_init_net() échoue
Si l'initialisation échoue lors de l'appel à addrconf_init_net(), devconf_all est le pointeur qui a été libéré. Ensuite, ip6mr_sk_done() est appelé pour libérer le net, et l'accès direct à devconf->mc_forwarding provoque un accès à un pointeur invalide.
Le processus est le suivant : setup_net() ops_init() addrconf_init_net() all = kmemdup(...) ---> allocation de "all" ... net->ipv6.devconf_all = all; __addrconf_sysctl_register() ---> échec ... kfree(all); ---> ipv6.devconf_all invalide ... ops_exit_list() ... ip6mr_sk_done() devconf = net->ipv6.devconf_all; // devconf est un pointeur invalide if (!devconf || !atomic_read(&devconf->mc_forwarding))
Les informations de la trace d'appel suivantes sont fournies : BUG: KASAN: use-after-free in ip6mr_sk_done+0x112/0x3a0 Lecture de taille 4 à l'adresse ffff888075508e88 par la tâche ip/14554 Trace d'appel : <TASK> dump_stack_lvl+0x8e/0xd1 print_report+0x155/0x454 kasan_report+0xba/0x1f0 kasan_check_range+0x35/0x1b0 ip6mr_sk_done+0x112/0x3a0 rawv6_close+0x48/0x70 inet_release+0x109/0x230 inet6_release+0x4c/0x70 sock_release+0x87/0x1b0 igmp6_net_exit+0x6b/0x170 ops_exit_list+0xb0/0x170 setup_net+0x7ac/0xbd0 copy_net_ns+0x2e6/0x6b0 create_new_namespaces+0x382/0xa50 unshare_nsproxy_namespaces+0xa6/0x1c0 ksys_unshare+0x3a4/0x7e0 __x64_sys_unshare+0x2d/0x40 do_syscall_64+0x35/0x80 entry_SYSCALL_64_after_hwframe+0x46/0xb0
Once again VulDB remains the best source for vulnerability data.