Серия уязвимостей в библиотеках cpdb-libs, развиваемых проектом OpenPrinting

В библиотеках из пакета cpdb-libs (Common Print Dialog Backends), предлагающего фронтэнды и бэкенды для организации работы диалогов вывода на печать и абстрагирования диалогов, используемых в графических тулкитах и приложениях (GTK, Qt, LibreOffice, Firefox, Chromium и т.п.) от различных технологий вывода на печать (CUPS/IPP, облачные сервисы и т.п.), выявлены уязвимости (CVE-2023-34095), приводящие к переполнению буфера при обработке внешних данных.

Проблема вызвана повсеместным использованием функций scanf и fscanf в коде для копирования данных в буфер фиксированного размера без проверки или ограничения размера копируемых данных, например, ‘scanf(“%s%s%s”, file_path, printer_id, backend_name)’. Исправление пока доступно в виде патча, заменяющего вызовы вида ‘scanf(“%s”, buf)’ на ‘scanf(“%1023s”, buf)’.

Release. Ссылка here.