Skip to content
Heist/ feed
Back to feed
Medium

AIL Framework Onion Module: Non-Onion URL Accepted as Crawler Task Due to Bypassed Domain Validation

Type: advisorySources: OSV

The Onion module in AIL Framework contained a performance shortcut in its URL extraction logic that accepted URLs as valid .onion targets based solely on a length check (exactly 69 characters) and a suffix check (ending in ".onion"), without performing proper hostname parsing or onion-domain validation. An unauthenticated attacker who could publish or control web content crawled by the framework could embed a crafted URL containing an IP address or non-onion hostname with a path ending in ".onion" that satisfied the length and suffix conditions. Such a URL would be extracted, its domain naively sliced from the string, and queued as a legitimate onion crawler task. This allowed unauthenticated content publishers to inject arbitrary non-onion targets into the crawler's task queue, influencing crawler behavior and potentially directing it toward unintended network resources. The vulnerability required no authentication, no user interaction, and only the ability to place crafted content in a location the framework would crawl. The security impact is a loss of integrity in the crawler's target selection: the framework processes and acts upon URLs that do not correspond to legitimate .onion services.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-100187
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 15:51 UTC · Revision 1

Source evidence

AIL Framework Onion Module: Non-Onion URL Accepted as Crawler Task Due to Bypassed Domain Validation

core-osv · Original source

Published 25 Sept 2026, 13:42 UTC

The Onion module in AIL Framework contained a performance shortcut in its URL extraction logic that accepted URLs as valid .onion targets based solely on a length check (exactly 69 characters) and a suffix check (ending in ".onion"), without performing proper hostname parsing or onion-domain validation. An unauthenticated attacker who could publish or control web content crawled by the framework could embed a crafted URL containing an IP address or non-onion hostname with a path ending in ".onion" that satisfied the length and suffix conditions. Such a URL would be extracted, its domain naively sliced from the string, and queued as a legitimate onion crawler task. This allowed unauthenticated content publishers to inject arbitrary non-onion targets into the crawler's task queue, influencing crawler behavior and potentially directing it toward unintended network resources. The vulnerability required no authentication, no user interaction, and only the ability to place crafted content in a location the framework would crawl. The security impact is a loss of integrity in the crawler's target selection: the framework processes and acts upon URLs that do not correspond to legitimate .onion services.

osv:CVE-2026-100187
Complete source record
{
  "id": "5b4d17ef890e17b2b8d7ffc22458501d78a457beed639b1e0f5a154d105046bd",
  "url": "https://osv.dev/vulnerability/CVE-2026-100187",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "AIL Framework Onion Module: Non-Onion URL Accepted as Crawler Task Due to Bypassed Domain Validation",
    "summary": "The Onion module in AIL Framework contained a performance shortcut in its URL extraction logic that accepted URLs as valid .onion targets based solely on a length check (exactly 69 characters) and a suffix check (ending in \".onion\"), without performing proper hostname parsing or onion-domain validation. An unauthenticated attacker who could publish or control web content crawled by the framework could embed a crafted URL containing an IP address or non-onion hostname with a path ending in \".onion\" that satisfied the length and suffix conditions. Such a URL would be extracted, its domain naively sliced from the string, and queued as a legitimate onion crawler task. This allowed unauthenticated content publishers to inject arbitrary non-onion targets into the crawler's task queue, influencing crawler behavior and potentially directing it toward unintended network resources. The vulnerability required no authentication, no user interaction, and only the ability to place crafted content in a location the framework would crawl. The security impact is a loss of integrity in the crawler's target selection: the framework processes and acts upon URLs that do not correspond to legitimate .onion services.",
    "evidence": "osv:CVE-2026-100187",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-100187",
      "aliases": [
        "CVE-2026-100187"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/ail-project/ail-framework",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "4b94304bcd4d3d08b9e0c0772be4773e6bbbd350"
                },
                {
                  "fixed": "5c8a68b3d8c7d7b03e5febe4ac5b5aca91826adb"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "7.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "SplitRange"
                  },
                  {
                    "range": [
                      {
                        "fixed": "5c8a68b3d8c7d7b03e5febe4ac5b5aca91826adb"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v6.8",
            "v6.7",
            "v6.6",
            "v6.1",
            "v6.0.1",
            "v6.0",
            "v5.9",
            "v5.8",
            "v5.7",
            "v5.5",
            "v5.4",
            "v5.3",
            "v5.0",
            "v4.1",
            "v4.0",
            "v3.7",
            "v3.6",
            "v3.5",
            "v3.1",
            "v3.0",
            "v2.8",
            "v2.7",
            "v2.6",
            "v2.5",
            "v2.4",
            "v2.3",
            "v2.2",
            "v2.1",
            "v2.0",
            "v1.8",
            "v1.7",
            "v1.6",
            "v1.5",
            "v1.3",
            "v1.2",
            "v1.1",
            "v1.0",
            "v0.90"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-100187.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:51.124159312Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/100xxx/CVE-2026-100187.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-100187",
        "https://github.com/ail-project/ail-framework/commit/5c8a68b3d8c7d7b03e5febe4ac5b5aca91826adb",
        "https://github.com/ail-project/ail-framework"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-20"
        ],
        "cna_assigner": "CIRCL",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/100xxx/CVE-2026-100187.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-100187",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 519803,
  "published_at": "2026-09-25T13:42:16.854+00:00"
}