Etherpad — редактор для совместной работы в режиме реального времени. С 2.1.0 по 3.1.0 Etherpad использует контролируемый злоумышленником заголовок запроса x-proxy-path в src/node/hooks/express/admin.ts при подстановке путей в HTML, JavaScript и CSS в /admin без очистки, Vary: x-proxy-path или Cache-Control: частный, без хранилища. Общий прокси-сервер или CDN могут кэшировать полученный ответ и передавать администратору внедренный злоумышленником сценарий.
В src/node/hooks/express/specialpages.ts версия 3.0.0 также принимает значение x-proxy-path относительно протокола при построении перенаправления /p/:pad/timeslider, что позволяет перенаправить на хост, контролируемый злоумышленником. Эти проблемы можно использовать, когда развертывание позволяет предоставленным клиентом заголовкам x-proxy-path достигать Etherpad. Эта проблема исправлена в версии 3.1.0.
Показать оригинальное описание (EN)
Etherpad is a real-time collaborative editor. From 2.1.0 until 3.1.0, Etherpad uses the attacker-controlled x-proxy-path request header in src/node/hooks/express/admin.ts when substituting paths into HTML, JavaScript, and CSS under /admin without sanitization, Vary: x-proxy-path, or Cache-Control: private, no-store. A shared proxy or CDN can cache the resulting response and serve attacker-injected script to an administrator. In src/node/hooks/express/specialpages.ts, version 3.0.0 also accepts a protocol-relative x-proxy-path value when constructing the /p/:pad/timeslider redirect, allowing redirection to an attacker-controlled host. The issues are exploitable when the deployment permits client-supplied x-proxy-path headers to reach Etherpad. This issue is fixed in version 3.1.0.
Характеристики атаки
Последствия
Строка CVSS v3.1