HexBrain

Browse / CVEs / CVE-2023-27587

CVE-2023-27587· readtomyshoe project / readtomyshoe· CWE-209

ReadToMyShoe - Generation of Error Message Containing Sensitive Information

mediumseverity
6.5CVSS score
3.9%likelihood of exploitation, next 30 days
90%of all CVEs are less likely
Readycheck to confirm it

ReadToMyShoe generates an error message containing sensitive information prior to commit 8533b01. If an error occurs when adding an article, the website shows the user an error message. If the error originates from the Google Cloud TTS request, it will include the full URL of the request, which contains the Google Cloud API key.

Impact

This vulnerability can lead to the exposure of sensitive information, such as usernames, passwords, or internal system details.

Fix

This has been patched in commit 8533b01. Upgrading should be accompanied by deleting the current GCP API key and issuing a new one. There are no known workarounds.

How to confirm it

Send: POST /api/add-article-by-text
Positive when: !contains((body), 'https://texttospeech.googleapis.com/v1beta1/text:synthesize?key=REDACTED') AND contains "Caused by:" and "TTS request failed" AND contains in header "text/plain" AND status 500

Run it with nuclei: nuclei -id CVE-2023-27587 -u <target>. This check is not marked as verified by its authors.

The full check
id: CVE-2023-27587

info:
  name: ReadToMyShoe - Generation of Error Message Containing Sensitive Information
  author: vagnerd
  severity: medium
  description: |
    ReadToMyShoe generates an error message containing sensitive information prior to commit 8533b01. If an error occurs when adding an article, the website shows the user an error message. If the error originates from the Google Cloud TTS request, it will include the full URL of the request, which contains the Google Cloud API key.
  impact: |
    This vulnerability can lead to the exposure of sensitive information, such as usernames, passwords, or internal system details.
  remediation: This has been patched in commit 8533b01. Upgrading should be accompanied by deleting the current GCP API key and issuing a new one. There are no known workarounds.
  reference:
    - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-27587
    - https://github.com/rozbb/readtomyshoe/security/advisories/GHSA-23g5-r34j-mr8g
    - https://github.com/sec-fx/CVE-2023-27587-PoC
    - https://github.com/rozbb/readtomyshoe/commit/8533b01c818939a0fa919c7244d8dbf5daf032af
    - https://nvd.nist.gov/vuln/detail/CVE-2023-27587
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 6.5
    cve-id: CVE-2023-27587
    cwe-id: CWE-209
    epss-score: 0.03889
    epss-percentile: 0.90329
    cpe: cpe:2.3:a:readtomyshoe_project:readtomyshoe:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: readtomyshoe_project
    product: readtomyshoe
  tags: cve2023,cve,debug,readtomyshoe,disclosure,readtomyshoe_project,vkev,vuln

http:
  - raw:
      - |
        POST /api/add-article-by-text HTTP/1.1
        Host: {{Hostname}}
        Accept-Encoding: gzip, deflate
        Content-Type: application/json

        {
          "title":"Kernsicherheitstest",
          "body":"Kernsicherheitstest"
        }

    matchers-condition: and
    matchers:
      - type: dsl
        dsl:
          - '!contains((body), ''https://texttospeech.googleapis.com/v1beta1/text:synthesize?key=REDACTED'')'

      - type: word
        words:
          - "Caused by:"
          - "TTS request failed"
        condition: and

      - type: word
        part: header
        words:
          - "text/plain"

      - type: status
        status:
          - 500

References

Use this check only on systems you are authorised to test. Where the data comes from