{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "extracted_events": [
              {
                "range": [
                  {
                    "introduced": "0"
                  },
                  {
                    "fixed": "1.656"
                  }
                ],
                "source": "AFFECTED_FIELD",
                "strategy": "StandardRange"
              },
              {
                "range": [
                  {
                    "fixed": "c2ff4df575d7af625bb4d0d1ef7539f90b22d8b2"
                  }
                ],
                "source": "REFERENCES_COMMIT"
              }
            ]
          },
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "1c71a976433b46da98b4844d2ae01326b5a242d7"
            },
            {
              "fixed": "c2ff4df575d7af625bb4d0d1ef7539f90b22d8b2"
            }
          ],
          "repo": "https://github.com/perl5-dbi/dbi",
          "type": "GIT"
        }
      ]
    }
  ],
  "aliases": [
    "GHSA-7393-6f8r-fhh3"
  ],
  "database_specific": {
    "cna_assigner": "CPANSec",
    "cwe_ids": [
      "CWE-843"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/108xxx/CVE-2026-108518.json"
  },
  "details": "DBI versions before 1.656 for Perl crash via type confusion in dbi_profile when a database handle is destroyed under a Profile Path with an {attr} element.\n\nAn {attr} element names a database handle attribute, which dbi_profile reads from the handle's inner hash. It expects the inner handle as a reference and dereferences it, but a handle that is being destroyed hands back the inner hash itself, so the dereference yields the hash's bucket array. A type check on that pointer usually fails and the call goes unprofiled. When the memory it addresses passes the check, the attribute lookup dereferences a NULL or invalid pointer and the process dies on SIGSEGV.\n\nThe Path is set by the application, by the Profile handle attribute, or by the DBI_PROFILE environment variable, so `DBI_PROFILE={ImplementorClass}` can crash an unmodified program.",
  "id": "CVE-2026-108518",
  "modified": "2026-10-21T10:30:32.295134321Z",
  "published": "2026-10-20T21:23:13.373Z",
  "references": [
    {
      "type": "WEB",
      "url": "http://www.openwall.com/lists/oss-security/2026/10/20/37"
    },
    {
      "type": "WEB",
      "url": "https://cpan.org/modules"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/108xxx/CVE-2026-108518.json"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/perl5-dbi/dbi"
    },
    {
      "type": "FIX",
      "url": "https://github.com/perl5-dbi/dbi/commit/c2ff4df575d7af625bb4d0d1ef7539f90b22d8b2.patch"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/perl5-dbi/dbi/security/advisories/GHSA-7393-6f8r-fhh3"
    },
    {
      "type": "ADVISORY",
      "url": "https://metacpan.org/release/HMBRAND/DBI-1.656/changes"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-108518"
    }
  ],
  "schema_version": "1.9.0",
  "summary": "DBI versions before 1.656 for Perl crash via type confusion in dbi_profile when a database handle is destroyed under a Profile Path with an {attr} element"
}