OpenPrinting CUPS — это система печати с открытым исходным кодом для Linux и других Unix-подобных операционных систем. В версиях 2.4.16 и более ранних версиях уведомитель RSS позволяет .. обход пути в notify-recipient-uri (например, rss:///../job.cache), позволяя удаленному клиенту IPP записывать байты XML RSS вне CacheDir/rss (в любом месте, где доступна запись через lp). В частности, поскольку CacheDir по умолчанию доступен для групповой записи (обычно root:lp и режим 0770), уведомитель (работающий как lp) может заменять файлы состояния, управляемые root, с помощью temp-file + rename().
Этот PoC забивает CacheDir/job.cache с помощью RSS XML, и после перезапуска cupsd планировщику не удается проанализировать кэш заданий, и ранее поставленные в очередь задания исчезают. На момент публикации общедоступных патчей нет.
Показать оригинальное описание (EN)
OpenPrinting CUPS is an open source printing system for Linux and other Unix-like operating systems. In versions 2.4.16 and prior, the RSS notifier allows .. path traversal in notify-recipient-uri (e.g., rss:///../job.cache), letting a remote IPP client write RSS XML bytes outside CacheDir/rss (anywhere that is lp-writable). In particular, because CacheDir is group-writable by default (typically root:lp and mode 0770), the notifier (running as lp) can replace root-managed state files via temp-file + rename(). This PoC clobbers CacheDir/job.cache with RSS XML, and after restarting cupsd the scheduler fails to parse the job cache and previously queued jobs disappear. At time of publication, there are no publicly available patches.
Характеристики атаки
Последствия
Строка CVSS v3.1