<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-22T16:49:01.754314+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/cve-2024-24759</id>
    <title>CVE-2024-24759 — MindsDB Vulnerable to Bypass of SSRF Protection with DNS Rebinding</title>
    <updated>2026-10-22T16:49:01.756085+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> mindsdb</p>
<p>MindsDB is a platform for building artificial intelligence from enterprise data. Prior to version 23.12.4.2, a threat actor can bypass the server-side request forgery protection on the whole website with DNS Rebinding. The vulnerability can also lead to denial of service. Version 23.12.4.2 contains a patch.</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/cve-2024-24759"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-4jcv-vp96-94xr</id>
    <title>GHSA-4jcv-vp96-94xr — MindsDB Vulnerable to Bypass of SSRF Protection with DNS Rebinding</title>
    <updated>2026-10-22T16:49:01.756179+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: mindsdb</p>
<p>### Summary</p>
<p>DNS rebinding is a method of manipulating resolution of domain names to let the initial DNS query hits an address and the second hits another one. For instance the host `make-190.119.176.200-rebind-127.0.0.1-rr.1u.ms`  would be initially resolved to `190.119.176.200` and the next DNS issue to `127.0.0.1`. Please notice the following in the latest codebase:</p>
<p>```python
def is_private_url(url: str):
    """
    Raises exception if url is private</p>
<p>:param url: url to check
    """</p>
<p>hostname = urlparse(url).hostname
    if not hostname:
        # Unable to find hostname in url
        return True
    ip = socket.gethostbyname(hostname)
    return ipaddress.ip_address(ip).is_private</p>
<p>```</p>
<p>As you can see, during the call to `is_private_url()` the initial DNS query would be issued by `ip = socket.gethostbyname(hostname)` to an IP (public one) and then due to DNS Rebinding, the next GET request would goes to the private one.</p>
<p>### PoC</p>
<p>```python
from flask import Flask, request, jsonify
from urllib.parse import urlparse
import socket
import ipaddress
import requests</p>
<p>app = Flask(__name__)</p>
<p>def is_private_url(url: str):
    """
    Raises exception if url is private</p>
<p>:param url: url to check
    """</p>
<p>hostname = urlparse(url).hostname
    if not hostname:
        # Unable to find hostname in url
        return True
    ip = socket.gethostbyname(hostname)
    if ipaddress.ip_address(ip).is_private:
        raise Exception(f"Private IP address found for {url}…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-4jcv-vp96-94xr"/>
  </entry>
</feed>
