flawopen.com/Incidents/papercut-patch-bypass-scan2fax-chain-october-2026
Обход исправления PaperCut: цепочка Scan2Fax до RCE без аутентификации
9 октября watchTowr раскрыла новую цепочку обхода аутентификации и Scan2Fax для промежуточной версии PaperCut. Она показывает, как обходы исправлений вновь открыли путь от запроса без входа в систему к уязвимости исполнения команд, требующей аутентификации; окончательные исправления PaperCut — 26.0.5/25.0.13.[1], [2]
Представьте здание, где каждая комната проверяет пропуск посетителя, но в холле проверяют только первую комнату на его маршруте. Через открытую комнату можно попасть к закрытому столу, где пропуск уже не проверяют. В истории исправлений PaperCut пришлось закрыть несколько таких путей; окончательная версия защищает сами формы и путь к файлу, который использует Scan-to-Fax.[1]
Ключевые понятия и термины
Обход исправления- Другой путь ведёт к той же защищённой операции после того, как исправление блокирует только первоначально описанный маршрут. Это новый дефект границы, а не доказательство полного отсутствия первого исправления.[1]
Цепочка до аутентификации- Последовательность, в которой одна ошибка обходит обычную проверку входа, а вторая обеспечивает последствия, например исполнение команд. У каждого звена свои механизмы, их нужно описывать отдельно.[1]
CVE-2026-82077- Уязвимость PaperCut Scan-to-Fax — это path traversal, который может позволить аутентифицированному администратору выполнять команды на хосте. PaperCut исправил её в 26.0.5 и 25.0.13; watchTowr показала, как отдельный обход авторизации в промежуточной версии можно было связать с ней.[2], [3], [4], [1]
WT-2026-0143- Обозначение watchTowr для обхода исправления аутентификации, опубликованного 9 октября. В общедоступном бюллетене PaperCut этому случаю не присвоен отдельный CVE. Исправление вошло в аварийную сборку 26.0.4-PO 76530.[1]
Статус эксплуатации- В августе PaperCut сообщила об эксплуатации прежних уязвимостей PaperCut. В сентябрьском бюллетене сказано, что для описанных там проблем, включая
CVE-2026-82077, признаков эксплуатации нет. Исследование 9 октября демонстрирует цепочку на промежуточной версии, но не доказывает её использование против клиентов.[5], [2], [1]
Связи со стандартами
Состояние версий: разделяйте две цепочки PaperCut
| Версия PaperCut | Что подтверждают источники | Действие защиты |
|---|---|---|
| 26.0.3 | watchTowr относит к этой версии прежнюю цепочку CVE-2026-81578 + CVE-2026-82078, эксплуатация которой наблюдалась в реальных атаках. | Следуйте срочному бюллетеню PaperCut; это прежняя эксплуатировавшаяся цепочка, а не исследование октября. |
| 26.0.4 | При анализе этой версии watchTowr обнаружила отдельные обходы исправлений. | Не считайте промежуточное исправление окончательным; ориентируйтесь на версии, которые поставщик указал как исправленные. |
| 26.0.4-PO build 76508 | watchTowr воспроизвела здесь WT-2026-0143 + CVE-2026-82077. Это исследовательская демонстрация, а не доказательство атак на клиентов. | Обновитесь до версии с исправлением поставщика; не считайте эту сборку защищённой только потому, что она включает прежние экстренные исправления. |
| 26.0.4-PO build 76530 | По данным watchTowr, здесь исправлена WT-2026-0143; CVE-2026-82077 исправлена в более поздней версии. | Обновитесь до окончательного исправления CVE-2026-82077; этого промежуточного исправления обхода недостаточно. |
| 26.0.5 / 25.0.13 или новее | PaperCut указывает эти версии как исправленные для CVE-2026-82077. | Обновитесь до текущей поддерживаемой версии и проверьте установленную ветку и сборку. |
| Выпуск обслуживания 24.1.10 | В августовском бюллетене PaperCut версия 24.1.10 указана как выпуск обслуживания, заменяющий Emergency Patches 1–3. | Это подтверждает только исправления из августовского уведомления, но не статус CVE-2026-82077. |
Ветка 24.x: CVE-2026-82077 | В сентябрьском бюллетене PaperCut исправленными указаны 26.0.5 и 25.0.13 (ветка 25.x); ветка 24.x не указана. | Не делайте вывод о статусе этой CVE для 24.x; проверьте актуальные рекомендации PaperCut для этой ветки. |
Хронология инцидента
Пошаговый сценарий атаки
Проверка разрешений маршрута пропускает вложенную цель
watchTowr описывает старую маршрутизацию PaperCut на Tapestry: запрос может указать корневую страницу, а затем другую страницу или форму. Предварительная проверка авторизации не всегда применяла разрешения самой целевой формы.[1]
Обход исправления достигает защищённой формы
Цепочка для 26.0.4-PO 76508 использовала WT-2026-0143, чтобы попасть в функции настройки через страницу, чья проверка не вызывала проверку целевой формы. Это описание границы авторизации, а не воспроизведение маршрута или запросов.[1]
В Scan-to-Fax есть отдельная ошибка пути к команде
PaperCut классифицирует CVE-2026-82077 как path traversal в настройках Scan-to-Fax, позволяющий аутентифицированному администратору выполнять команды на хосте. watchTowr показала, что обход авторизации промежуточной версии мог предоставить недостающий аутентифицированный контекст.[1], [2]
Исходный код: Уязвимый vs Защищённый вариант
Этот общий пример на Java показывает две независимые меры: проверку прав для самой привилегированной операции и выбор исполняемого файла из серверного списка коннекторов с проверкой канонического пути. Это не код PaperCut и не патч поставщика. В рабочем коде также нужны проверка аргументов, ограничение привилегий процесса и исправленная версия PaperCut; проверка пути сама по себе не устраняет обход авторизации маршрутизации.
Path executable = faxDirectory.resolve(clientConnectorName).normalize();
// Проверка на уровне маршрута не заменяет авторизацию этой операции.
new ProcessBuilder(executable.toString(), faxArguments).start();
if (!principal.canAdministerFax()) {
throw new SecurityException("Fax administration is required");
}
Path root = faxDirectory.toRealPath();
Path executable = approvedConnectors.get(connectorId); // Server-owned allowlist.
if (executable == null) {
throw new IllegalArgumentException("Unknown connector");
}
Path resolved = executable.toRealPath();
if (!resolved.startsWith(root) || !Files.isExecutable(resolved)) {
throw new SecurityException("Connector is outside the approved directory");
}
new ProcessBuilder(resolved.toString(), validatedArguments).start();
Чек-лист по защите системы для инженеров
- ✓Обновите PaperCut NG/MF до 26.0.5 или новее либо до 25.0.13 или новее в ветке 25.x. Не считайте промежуточную сборку 76508 окончательным исправлением: бюллетень PaperCut называет финальные исправленные версии.[2], [4]
- ✓Если затронутая или промежуточная версия была доступна извне, следуйте текущему бюллетеню безопасности и рекомендациям PaperCut по реагированию; не делайте вывод, что октябрьское исследование доказывает компрометацию или активную эксплуатацию WT-2026-0143/
CVE-2026-82077.[2] - ✓Проверяйте права для каждой целевой страницы и формы непосредственно на границе операции. Добавьте тесты прямой и вложенной маршрутизации: разрешённая корневая страница не должна вызывать защищённую цель без её собственной проверки доступа.[1]
- ✓Не формируйте пути исполняемых файлов из имени коннектора, переданного в запросе. Свяжите постоянные идентификаторы с серверной конфигурацией программ, канонизируйте пути и отклоняйте файлы вне разрешённого каталога.[1], [2]
- ✓Рассматривайте обход аутентификации и исполнение команд как отдельные меры при проверке кода и заметок к версиям; проверяйте обе регрессионными тестами после изменений framework или маршрутизации.[1]
- ✓При чтении уведомлений отделяйте прежнюю эксплуатировавшуюся цепочку
CVE-2026-81578/CVE-2026-82078от более позднего исследования обхода исправления. Приписывайте наблюдения эксплуатации, демонстрацию исследователей и версии исправлений соответствующим источникам.[1], [2]
Источники
- watchTowr — Death By A Thousand PaperCuts: цепочка PaperCut pre-auth RCE и обходы исправлений (2026-10-09)
- PaperCut — бюллетень безопасности NG/MF (24 сентября 2026)
- PaperCut — журнал уязвимостей безопасности
- CVE-2026-82077 — запись CVE
- PaperCut — URGENT Security Advisory: PaperCut NG/MF Security Bulletin (27 Aug 2026)