← Back to CVE Explorer

CVE-2026-46526

Full vulnerability record from the local CVENow database.

Description

Local Deep Research is an AI-powered research assistant for deep, iterative research. Prior to 1.6.10, the URL checking logic in local-deep-research has a logical flaw that could be bypassed by attackers, leading to SSRF attacks. The current project uses validate_url to validate the input URL. The main logic is to perform security checks on the host portion of the URL extracted by urlparse to prevent SSRF attacks. However, there are indeed differences in parsing between urlparse and the library that actually sends the request. For example, in safe_get, validate_url is first used to perform an SSRF check, and then requests.get is used to send the actual request. This vulnerability is fixed in 1.6.10.

Severity
MEDIUM
CVSS score
5.0 (v3.1)
Vulnerability status
Deferred
Source identifier
Published
2026-05-28 19:16:39.430000
Last modified
2026-10-26 13:10:00.140000
View original CVE JSON
{
  "id": "CVE-2026-46526",
  "sourceIdentifier": "[email protected]",
  "published": "2026-05-28T19:16:39.430",
  "lastModified": "2026-10-26T13:10:00.140",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "Local Deep Research is an AI-powered research assistant for deep, iterative research. Prior to 1.6.10, the URL checking logic in local-deep-research has a logical flaw that could be bypassed by attackers, leading to SSRF attacks. The current project uses validate_url to validate the input URL. The main logic is to perform security checks on the host portion of the URL extracted by urlparse to prevent SSRF attacks. However, there are indeed differences in parsing between urlparse and the library that actually sends the request. For example, in safe_get, validate_url is first used to perform an SSRF check, and then requests.get is used to send the actual request. This vulnerability is fixed in 1.6.10."
    },
    {
      "lang": "es",
      "value": "Local Deep Research es un asistente de investigación impulsado por IA para investigación profunda e iterativa. Antes de la 1.6.10, la lógica de verificación de URL en local-deep-research tiene una falla lógica que podría ser eludida por atacantes, lo que lleva a ataques SSRF. El proyecto actual utiliza validate_url para validar la URL de entrada. La lógica principal es realizar comprobaciones de seguridad en la porción de host de la URL extraída por urlparse para prevenir ataques SSRF. Sin embargo, existen de hecho diferencias en el análisis entre urlparse y la biblioteca que realmente envía la solicitud. Por ejemplo, en safe_get, validate_url se utiliza primero para realizar una comprobación SSRF, y luego requests.get se utiliza para enviar la solicitud real. Esta vulnerabilidad está corregida en la 1.6.10."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "LearningCircuit",
          "product": "local-deep-research",
          "versions": [
            {
              "version": "< 1.6.10",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N",
          "baseScore": 5.0,
          "baseSeverity": "MEDIUM",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "CHANGED",
          "confidentialityImpact": "LOW",
          "integrityImpact": "NONE",
          "availabilityImpact": "NONE"
        },
        "exploitabilityScore": 3.1,
        "impactScore": 1.4
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-05-29T14:05:52.707137Z",
          "id": "CVE-2026-46526",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-918"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/LearningCircuit/local-deep-research/pull/3873",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/LearningCircuit/local-deep-research/pull/3882",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/LearningCircuit/local-deep-research/pull/3889",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/LearningCircuit/local-deep-research/pull/3932",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/LearningCircuit/local-deep-research/releases/tag/v1.6.10",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/LearningCircuit/local-deep-research/security/advisories/GHSA-g23j-2vwm-5c25",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/LearningCircuit/local-deep-research/security/advisories/GHSA-g23j-2vwm-5c25",
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
    }
  ]
}