Π Π°ΡΠΊΡΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ CVE-2023-6200) Π² ΡΠ΅ΡΠ΅Π²ΠΎΠΌ ΡΡΠ΅ΠΊΠ΅ ΡΠ΄ΡΠ° Linux, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²Π°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ Π΄ΠΎΠ±ΠΈΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π· ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° ICMPv6 Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ RA (Router Advertisement), ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΌ Π΄Π»Ρ Π°Π½ΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΠ΅.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΠΎΠ²Π°Π½Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΈ ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΠΎ Π²ΠΊΠ»ΡΡΡΠ½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ IPv6 ΠΈ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ sysctl-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ «net.ipv6.conf.<ΠΈΠΌΡ_ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ_ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°>.accept_ra» (ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ «sysctl net.ipv6.conf| grep accept_ra»), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΡΠΊΠ»ΡΡΡΠ½ Π² RHEL ΠΈ Ubuntu Π΄Π»Ρ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², Π½ΠΎ Π²ΠΊΠ»ΡΡΡΠ½ Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° loopback, ΡΡΠΎ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ Π°ΡΠ°ΠΊΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π²ΡΠ·Π²Π°Π½Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ Π³ΠΎΠ½ΠΊΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΌΡΡΠΎΡΠ° ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ fib6_info, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠΆΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄ΡΠ½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ (use-after-free). ΠΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° ICMPv6 Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ± Π°Π½ΠΎΠ½ΡΠ΅ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΠ° (RA, Router Advertisement) ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΡΠ΅ΠΊ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ndisc_router_discovery(), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Π² RA-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΆΠΈΠ·Π½ΠΈ ΠΌΠ°ΡΡΡΡΡΠ° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ fib6_set_expires() ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ gc_link. ΠΠ»Ρ ΡΠΈΡΡΠΊΠΈ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ fib6_clean_expires(), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡ Π² gc_link ΠΈ ΠΎΡΠΈΡΠ°Π΅Ρ ΠΏΠ°ΠΌΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΡΡΠΊΡΡΡΠΎΠΉ fib6_info. ΠΡΠΈ ΡΡΠΎΠΌ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ΄ ΡΡΡΡΠΊΡΡΡΡ fib6_info ΡΠΆΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½Π°, Π½ΠΎ ΡΡΡΠ»ΠΊΠ° Π½Π° Π½Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΡΡΠΊΡΡΡΠ΅ gc_link.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΠΊΠΈ 6.6 ΠΈ ΡΡΡΡΠ°Π½Π΅Π½Π° Π² Π²Π΅ΡΡΠΈΡΡ
6.6.9 ΠΈ 6.7. Π‘ΡΠ°ΡΡΡ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ
ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΡΡ Π½Π° Π΄Π°Π½Π½ΡΡ
ΡΡΡΠ°Π½ΠΈΡΠ°Ρ
: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. ΠΠ· Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ
ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ Ρ ΡΠ΄ΡΠΎΠΌ 6.6, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Arch Linux, Gentoo, Fedora, Slackware, OpenMandriva ΠΈ Manjaro, Π² ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ
Π½Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΎ Π±ΡΠΊΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Π² ΠΏΠ°ΠΊΠ΅ΡΡ Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΠΌΠΈ Π²Π΅ΡΠΊΠ°ΠΌΠΈ ΡΠ΄ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Debian ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠ·Π²ΠΈΠΌ ΠΏΠ°ΠΊΠ΅Ρ Ρ ΡΠ΄ΡΠΎΠΌ 6.5.13, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ Π² Π²Π΅ΡΠΊΠ΅ 6.6). Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±Ρ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ Π·Π°ΡΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ IPv6 ΠΈΠ»ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0 ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ «net.ipv6.conf.*.accept_ra».
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru