{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "source": "REFERENCES"
          },
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "a258c17c6937f79529c8319a829310e09cdbd216"
            }
          ],
          "repo": "https://github.com/perl/perl5",
          "type": "GIT"
        }
      ]
    }
  ],
  "database_specific": {
    "unresolved_ranges": [
      {
        "cpes": [
          "cpe:2.3:a:nwclark:storable:*:*:*:*:*:perl:*:*"
        ],
        "extracted_events": [
          {
            "fixed": "3.05"
          }
        ],
        "source": "CPE_RANGE",
        "vendor_product": "nwclark:storable"
      },
      {
        "extracted_events": [
          {
            "fixed": "3.05"
          }
        ],
        "source": "DESCRIPTION"
      }
    ]
  },
  "details": "Storable versions before 3.05 for Perl has a stack overflow.\n\nThe retrieve_hook function stored the length of the class name into a signed integer but in read operations treated the length as unsigned. This allowed an attacker to craft data that could trigger the overflow.",
  "id": "CVE-2017-20230",
  "modified": "2026-08-07T11:31:19.978405786Z",
  "published": "2026-04-21T16:16:18.077Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://metacpan.org/release/RURBAN/Storable-3.05/changes"
    },
    {
      "type": "ADVISORY",
      "url": "https://www.nntp.perl.org/group/perl.perl5.porters/2017/01/msg242533.html"
    },
    {
      "type": "ADVISORY",
      "url": "https://www.nntp.perl.org/group/perl.perl5.porters/2017/01/msg242703.html"
    },
    {
      "type": "REPORT",
      "url": "https://github.com/Perl/perl5/issues/15831"
    },
    {
      "type": "FIX",
      "url": "https://github.com/Perl/perl5/commit/a258c17c6937f79529c8319a829310e09cdbd216.patch"
    },
    {
      "type": "ARTICLE",
      "url": "http://www.openwall.com/lists/oss-security/2026/04/21/5"
    }
  ],
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ]
}