Etherpad — редактор для совместной работы в режиме реального времени. С версий 2.6.0 до 3.1.0 src/node/hooks/express/tokenTransfer.ts Etherpad использует POST /tokenTransfer для хранения токена автора для передачи между браузерами и предоставляет его через GET /tokenTransfer/{uuid}. Хотя запись включает в себя созданныйAt, передача не проверяется на срок действия, не удаляется после успешного погашения и возвращается res.send(tokenData), включая необработанный токен автора.
Злоумышленник, не прошедший проверку подлинности, получив UUID передачи, может повторно активировать его, получать новые файлы cookie автора, читать токен открытого текста и выдавать себя за исходного автора для операций чтения и записи. Эта проблема исправлена в версии 3.1.0.
Показать оригинальное описание (EN)
Etherpad is a real-time collaborative editor. From 2.6.0 until 3.1.0, Etherpad's src/node/hooks/express/tokenTransfer.ts uses POST /tokenTransfer to store an author token for transfer between browsers and exposes it through GET /tokenTransfer/{uuid}. Although the record includes createdAt, the transfer has no expiration check, is not removed after successful redemption, and is returned by res.send(tokenData), including the raw author token. An unauthenticated attacker who obtains a transfer UUID can repeatedly redeem it, receive fresh author cookies, read the cleartext token, and impersonate the originating author for pad read and write operations. This issue is fixed in version 3.1.0.
Характеристики атаки
Последствия
Строка CVSS v3.1