Помилка BIND 9.16.17, що призводить до неправильної обробки символу W в DNS-запитах

Опубліковані коригуючі оновлення стабільної гілки DNS-сервера BIND 9.16.18 і експериментальної гілки 9.17.15, що знаходиться в розробці, в яких усунута серйозна помилка, що з'явилася у випусках BIND 9.16.17 і 9.17.14, опубліковано релізів розробники попередили про наявність проблеми та рекомендували не встановлювати версії 9.16.17 та 9.17.14).

У версіях 9.16.17 та 9.17.14 у таблицях зіставлення символів у нижньому та верхньому регістрі (maptoupper та maptolower) було пропущено символ «w», що призвело до заміни символів «W» та «w» в іменах доменів на послідовність «\000 » та повернення некоректного результату при обробці запитів по масці. Наприклад, якщо в DNS-зоні був присутній запис «*.sub.test.local. 1 A 127.0.0.1″ запит імені UVW.sub.test.local» призводив до висновку відповіді, в якій поверталося ім'я «uv/000.sub.test.local» замість «uvw.sub.test.local».

Крім того, відзначалися проблеми із заміною символу w на "\000" при динамічному оновленні зони у випадку, якщо регістр символу w у запиті відрізнявся від регістра в DNS-зоні. Наприклад, якщо за наявності у зоні запису «WW.example» надсилалося оновлення для «foo.ww.example.», воно оброблялося як «foo.\000\000.example.». Проблеми із заміною символів також могли виникнути під час виконання операцій передачі зон з первинного на вторинний DNS-сервер.

Публікацію оновлення 9.16.18 було затримано у зв'язку з виявленням ще двох помилок, які залишилися не усуненими у версіях 9.16.18 та 9.17.15. Помилки призводять до виникнення взаємного блокування під час ініціалізації і виявляються в конфігураціях, у яких в dnssec-policy використовуються однакові зони, що є у різних уявленнях (view). Користувачам з подібними параметрами рекомендується відкотитися до версії BIND 9.16.16.

Джерело: opennet.ru

Додати коментар або відгук