CVE-2025-68785 in Linuxinformazioni

Riassunto

di VulDB • 14/06/2026

Nel kernel Linux, è stata risolta la seguente vulnerabilità:

net: openvswitch: correzione della convalida dell'attributo intermedio nell'azione push_nsh()

La struttura dell'azione push_nsh() appare nel seguente modo:

OVS_ACTION_ATTR_PUSH_NSH(OVS_KEY_ATTR_NSH(OVS_NSH_KEY_ATTR_BASE,...))

L'attributo più esterno OVS_ACTION_ATTR_PUSH_NSH viene validato da nla_for_each_nested() all'interno di __ovs_nla_copy_actions(). Gli attributi più interni OVS_NSH_KEY_ATTR_BASE/MD1/MD2 vengono validati da nla_for_each_nested() all'interno di nsh_key_put_from_nlattr(). Tuttavia, nulla verifica se l'attributo intermedio sia valido. Non si verifica nemmeno che tale attributo sia OVS_KEY_ATTR_NSH. Si esegue semplicemente un doppio "unwrapping" mediante una coppia di chiamate a nla_data(): la prima volta direttamente durante la chiamata a validate_push_nsh() e la seconda volta come parte della macro nla_for_each_nested(), operazione non sicura che può potenzialmente causare un accesso alla memoria non valido se la dimensione di tale attributo non è corretta. L'errore potrebbe non essere rilevato durante la convalida a causa di un buffer netlink più grande, ma potrebbe causare problemi in seguito durante l'esecuzione dell'azione, dove il buffer viene allocato esattamente nella dimensione richiesta:

BUG: KASAN: slab-out-of-bounds in nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]
Lettura di dimensione 184 all'indirizzo ffff88816459a634 da parte del task a.out/22624

CPU: 8 UID: 0 PID: 22624 6.18.0-rc7+ #115 PREEMPT(voluntary) Call Trace: <TASK> dump_stack_lvl+0x51/0x70 print_address_description.constprop.0+0x2c/0x390 kasan_report+0xdd/0x110 kasan_check_range+0x35/0x1b0 __asan_memcpy+0x20/0x60 nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]
push_nsh+0x82/0x120 [openvswitch]
do_execute_actions+0x1405/0x2840 [openvswitch]
ovs_execute_actions+0xd5/0x3b0 [openvswitch]
ovs_packet_cmd_execute+0x949/0xdb0 [openvswitch]
genl_family_rcv_msg_doit+0x1d6/0x2b0 genl_family_rcv_msg+0x336/0x580 genl_rcv_msg+0x9f/0x130 netlink_rcv_skb+0x11f/0x370 genl_rcv+0x24/0x40 netlink_unicast+0x73e/0xaa0 netlink_sendmsg+0x744/0xbf0 __sys_sendto+0x3d6/0x450 do_syscall_64+0x79/0x2c0 entry_SYSCALL_64_after_hwframe+0x76/0x7e </TASK>

Vengono aggiunti alcuni controlli per verificare che l'attributo abbia la dimensione corretta e che sia l'unico attributo presente all'interno dell'azione. Tecnicamente, non vi è un motivo reale per cui OVS_KEY_ATTR_NSH debba essere presente, poiché sappiamo già che verrà aggiunto un'intestazione NSH; la sua presenza crea solo un ulteriore livello di nidificazione, ma questo è il modo in cui funziona l'interfaccia utente attuale. Pertanto, viene mantenuto lo stato attuale.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsabile

Linux

Prenotare

24/12/2025

Divulgazione

13/01/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00132

KEV

no

Attività

molto basso

Fonti

Do you need the next level of professionalism?

Upgrade your account now!