Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² uClibc ΠΈ uClibc-ng, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² кэшС DNS

Π’ стандартных Π‘ΠΈ-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… uClibc ΠΈ uClibc-ng, примСняСмых Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… встраиваСмых ΠΈ ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… устройствах, выявлСна ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE Π½Π΅ присвоСн), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² кэш DNS, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ‹ Π² кэшС IP-адрСса ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° ΠΈ пСрСнаправлСния ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ Π΄ΠΎΠΌΠ΅Π½Ρƒ Π½Π° сСрвСр Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ°.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Linux-ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ для ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ², Ρ‚ΠΎΡ‡Π΅ΠΊ доступа ΠΈ устройств ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°-Π²Π΅Ρ‰Π΅ΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Linux-дистрибутивы для встраиваСмых систСм, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ OpenWRT ΠΈ Embedded Gentoo. ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ проявляСтся Π² устройствах ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, uClibc ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ°Ρ… Linksys, Netgear ΠΈ Axis), Π½ΠΎ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² uClibc ΠΈ uClibc-ng ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ остаётся нСисправлСнной, Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… устройствах ΠΈ производитСлях, Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Ρ… ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… присутствуСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΠΎΠΊΠ° Π½Π΅ Ρ€Π°Π·Π³Π»Π°ΡˆΠ°ΡŽΡ‚ΡΡ.

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° использованиСм Π² ΠΊΠΎΠ΄Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ DNS-запросов прСдсказуСмых ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ запроса DNS выбирался ΠΏΡƒΡ‚Ρ‘ΠΌ простого увСличСния счётчика Π±Π΅Π· примСнСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π½Π΄ΠΎΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² ΠΏΠΎΡ€Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ позволяло Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ отравлСния кэша DNS Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰ΡƒΡŽ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ UDP-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² с Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌΠΈ (ΠΎΡ‚Π²Π΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ принят, Ссли ΠΎΠ½ ΠΏΡ€ΠΈΡˆΡ‘Π» Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ сСрвСра ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ ID). Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π² 2008 Π³ΠΎΠ΄Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Каминского, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ³Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ прСдсказуСм (Π²Π½Π°Ρ‡Π°Π»Π΅ выставляСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запросС увСличиваСтся, Π° Π½Π΅ выбираСтся случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ).

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² uClibc ΠΈ uClibc-ng, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² кэшС DNS

Π’ спСцификации для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ ΠΏΠΎΠ΄Π±ΠΎΡ€Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° рСкомСндуСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ случайноС распрСдСлСниС Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² исходных сСтСвых ΠΏΠΎΡ€Ρ‚ΠΎΠ², с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ DNS-запросы, Ρ‡Ρ‚ΠΎ компСнсируСт нСдостаточно большой Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°. ΠŸΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Ρ€Π°Π½Π΄ΠΎΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΡ€Ρ‚ΠΎΠ² для формирования Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΊΡ€ΠΎΠΌΠ΅ ΠΏΠΎΠ΄Π±ΠΎΡ€Π° 16 Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΈ Π½ΠΎΠΌΠ΅Ρ€ сСтСвого ΠΏΠΎΡ€Ρ‚Π°. Π’ uClibc ΠΈ uClibc-ng подобная рандомизация Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ явно (ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ bind Π½Π΅ указывался случайный исходный UDP ΠΏΠΎΡ€Ρ‚) ΠΈ Π΅Ρ‘ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ зависСло ΠΎΡ‚ настроСк ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Ρ€Π°Π½Π΄ΠΎΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΡ‚ΠΎΠ² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° запроса отмСчаСтся ΠΊΠ°ΠΊ Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Π°Ρ Π·Π°Π΄Π°Ρ‡Π°. Но Π΄Π°ΠΆΠ΅ Π² случаС примСнСния Ρ€Π°Π½Π΄ΠΎΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅ΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ лишь ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ сСтСвой ΠΏΠΎΡ€Ρ‚ ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° 32768–60999, для Ρ‡Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°ΡΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ сСтСвым ΠΏΠΎΡ€Ρ‚Π°ΠΌ.

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² uClibc ΠΈ uClibc-ng, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² кэшС DNS

НаличиС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΎ Π²ΠΎ всСх Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… выпусках uClibc ΠΈ uClibc-ng, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ самыС свСТиС вСрсии uClibc 0.9.33.2 ΠΈ uClibc-ng 1.0.40. Π’ сСнтябрС 2021 Π³ΠΎΠ΄Π° информация ΠΎΠ± уязвимости Π±Ρ‹Π»Π° ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π° Π² CERT/CC для согласованной ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ исправлСний. Π’ январС 2022 Π³ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ Π±Ρ‹Π»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ Π±ΠΎΠ»Π΅Π΅ 200 производитСлям, ΡΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΌ с CERT/CC. Π’ ΠΌΠ°Ρ€Ρ‚Π΅ Π±Ρ‹Π»Π° ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΡΠ²ΡΠ·Π°Ρ‚ΡŒΡΡ с ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ uClibc-ng, Π½ΠΎ ΠΎΠ½ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ», Ρ‡Ρ‚ΠΎ Π½Π΅ Π² состоянии ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅, рассчитывая ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ исправлСния ΠΎΡ‚ сообщСства. Из ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΎ выпускС обновлСния с устранСниСм уязвимости объявил NETGEAR.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru