23-летний кодер изгнал призраков, вселившихся в Firefox более 20 лет назад

23-летний кодер изгнал призраков, вселившихся в Firefox более 20 лет назад

23-летний кодер изгнал призраков, вселившихся в Firefox более 20 лет назад

В начале прошлого месяца в код Firefox, отвечающий за всплывающие подсказки ссылки, были внесены изменения с целью устранения бага, известного с 2002 года. Фикс включен в сборку 119 браузера, выпуск которой намечен на 24 октября.

Проблему, которой был присвоен ID 148624, зарегистрировал в Bugzilla пользователь Juneappal (Adam Price), владелец macOS-компьютера с установленным браузером Mozilla. Прайсу надоели tooltip-подсказки, появлявшиеся при наведении курсора на закладку и подвисавшие при переходе в окно другого приложения.

 

Избавиться от них можно было, лишь сдвинув курсор и вернувшись в браузер. Впоследствии этот же баг пытались зарегистрировать и другие пользователи Firefox; иногда он проявлялся также на Windows- и Linux-платформах.

Поскольку фантомные подсказки не нарушали работу Firefox, а только вызывали раздражение, решение проблемы каждый раз откладывалось. Когда с ней столкнулся 23-летний выпускник Стэнфорда И Фань Чжу (Yifan Zhu), оказалось, что они почти ровесники.

Молодой человек был заинтригован и решил попробовать исправить ситуацию, благо лето и впереди куча свободного времени. Программированию Чжу был обучен, но никогда не имел дело с такими сложными проектами, как Firefox.

Первый блин оказался комом, хотя новичку-энтузиасту помогли детализировать патч и оформить коммит. Вторая попытка, тоже с посторонним участием, оказалась более удачной. Предложение Чжу было принято, соответствующие исправления внесены в код Firefox 119, который сейчас проходит бета-тестирование.

В соцсетях по этому поводу появились восторженные отзывы. Некоторые начали отпускать шутки вроде «а Bugzilla-то постарше бага будет, ей в августе стукнуло 25» и «фикс отнял добычу у ботов, собравшихся удалить неисправленный баг за давностью». Один комментатор описал жизненный путь борца за чистоту кода следующим образом:

«Наверно, он столкнулся с багом, еще когда был ребенком. Это задело его за живое, он пошел в университет, чтобы научиться программированию, окончил его, создал аккаунт и все пофиксил. Цель жизни исчерпана».

30-летняя уязвимость в libpng поставила под удар миллионы приложений

Анонсирован выпуск libpng 1.6.55 с патчем для опасной уязвимости, которая была привнесена в код еще на стадии реализации проекта, то есть более 28 лет назад. Пользователям и разработчикам советуют как можно скорее произвести обновление.

Уязвимость-долгожитель в библиотеке для работы с растровой графикой в формате PNG классифицируется как переполнение буфера в куче, зарегистрирована под идентификатором CVE-2026-25646 и получила 8,3 балла по шкале CVSS.

Причиной появления проблемы является некорректная реализация API-функции png_set_dither(), имя которой было со временем изменено на png_set_quantize(). Этот механизм используется при чтении PNG-изображений для уменьшения количества цветов в соответствии с возможностями дисплея.

Переполнение буфера возникает при вызове png_set_quantize() без гистограммы и с палитрой, в два раза превышающей максимум для дисплея пользователя. Функция в результате уходит в бесконечный цикл, и происходит чтение за границей буфера.

Эту ошибку можно использовать с целью вызова состояния отказа в обслуживании (DoS). Теоретически CVE-2026-25646 также позволяет получить закрытую информацию или выполнить вредоносный код, если злоумышленнику удастся внести изменения в структуру памяти до вызова png_set_quantize().

Уязвимости подвержены все версии libpng, с 0.90 beta (а возможно, и с 0.88) до 1.6.54. Ввиду широкого использования библиотеки пользователям настоятельно рекомендуется перейти на сборку 1.6.55 от 10 февраля 2026 года.

RSS: Новости на портале Anti-Malware.ru