В ядре Linux устранена следующая уязвимость:
gtp: проверьте возврат skb_pull_data() в gtp1u_send_echo_resp()
gtp1u_send_echo_resp() игнорирует возвращаемое значение skb_pull_data(). Это
вызывающая сторона gtp1u_udp_encap_recv() гарантирует только 16 байт (udphdr +
gtp1_header), но пул-реквестов 20 (gtp1_header_long + udphdr). Для
эхо-запрос длиной 16-19 байт, извлечение завершается неудачей и возвращает NULL без
продвижение skb->data; выполнение продолжается, и следующая skb_push()
плюс заголовок IP, отправленный iptunnel_xmit(), переместите skb->data ниже
skb->head, отключая skb_under_panic().
Исправьте это, отбросив пакет при сбое skb_pull_data().
skbuff: skb_under_panic: ... ОШИБКА ядра в net/core/skbuff.c:214!
Отслеживание вызова:
skb_push (net/core/skbuff.c:2648)
iptunnel_xmit (net/ipv4/ip_tunnel_core.c:82)
gtp_encap_recv (drivers/net/gtp.c:701 driver/net/gtp.c:808 driver/net/gtp.c:920)
udp_queue_rcv_one_skb (net/ipv4/udp.c:2388)
... Паника ядра – нет синхронизации: фатальное исключение в прерывании
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: gtp: check skb_pull_data() return in gtp1u_send_echo_resp() gtp1u_send_echo_resp() ignores skb_pull_data()'s return value. Its caller gtp1u_udp_encap_recv() only guarantees 16 bytes (udphdr + gtp1_header), but the pull requests 20 (gtp1_header_long + udphdr). For a 16-19 byte echo request the pull fails and returns NULL without advancing skb->data; execution continues, and the following skb_push() plus the IP header pushed by iptunnel_xmit() move skb->data below skb->head, tripping skb_under_panic(). Fix it by dropping the packet when skb_pull_data() fails. skbuff: skb_under_panic: ... kernel BUG at net/core/skbuff.c:214! Call Trace: skb_push (net/core/skbuff.c:2648) iptunnel_xmit (net/ipv4/ip_tunnel_core.c:82) gtp_encap_recv (drivers/net/gtp.c:701 drivers/net/gtp.c:808 drivers/net/gtp.c:920) udp_queue_rcv_one_skb (net/ipv4/udp.c:2388) ... Kernel panic - not syncing: Fatal exception in interrupt
Характеристики атаки
Последствия
Строка CVSS v3.1
Уязвимые продукты 5
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
|
5.18
|
6.6.148
|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
|
5.18
|
6.12.101
|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
|
5.18
|
6.18.42
|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
|
5.18
|
7.1.6
|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
|
5.18
|
7.2-rc5
|