CVE-2017-20230 (GCVE-0-2017-20230)
Vulnerability from cvelistv5
Published
2026-04-21 15:26
Modified
2026-04-21 18:22
Severity ?
CWE
  • CWE-121 - Stack-based Buffer Overflow
Summary
Storable versions before 3.05 for Perl has a stack overflow. The 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.
Impacted products
Vendor Product Version
NWCLARK Storable Version: 0   < 3.05
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "cvssV3_1": {
              "attackComplexity": "LOW",
              "attackVector": "NETWORK",
              "availabilityImpact": "HIGH",
              "baseScore": 10,
              "baseSeverity": "CRITICAL",
              "confidentialityImpact": "HIGH",
              "integrityImpact": "HIGH",
              "privilegesRequired": "NONE",
              "scope": "CHANGED",
              "userInteraction": "NONE",
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
              "version": "3.1"
            }
          },
          {
            "other": {
              "content": {
                "id": "CVE-2017-20230",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "total"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-04-21T16:28:22.354136Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-04-21T16:29:10.971Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "providerMetadata": {
          "dateUpdated": "2026-04-21T18:22:25.354Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "url": "http://www.openwall.com/lists/oss-security/2026/04/21/5"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "collectionURL": "https://cpan.org/modules",
          "defaultStatus": "unaffected",
          "packageName": "Storable",
          "product": "Storable",
          "repo": "https://github.com/Perl/perl5/",
          "vendor": "NWCLARK",
          "versions": [
            {
              "lessThan": "3.05",
              "status": "affected",
              "version": "0",
              "versionType": "custom"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "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."
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-121",
              "description": "CWE-121 Stack-based Buffer Overflow",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-04-21T15:30:39.000Z",
        "orgId": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
        "shortName": "CPANSec"
      },
      "references": [
        {
          "tags": [
            "issue-tracking"
          ],
          "url": "https://github.com/Perl/perl5/issues/15831"
        },
        {
          "tags": [
            "patch"
          ],
          "url": "https://github.com/Perl/perl5/commit/a258c17c6937f79529c8319a829310e09cdbd216.patch"
        },
        {
          "tags": [
            "release-notes"
          ],
          "url": "https://metacpan.org/release/RURBAN/Storable-3.05/changes"
        },
        {
          "tags": [
            "mailing-list"
          ],
          "url": "https://www.nntp.perl.org/group/perl.perl5.porters/2017/01/msg242533.html"
        },
        {
          "tags": [
            "mailing-list"
          ],
          "url": "https://www.nntp.perl.org/group/perl.perl5.porters/2017/01/msg242703.html"
        }
      ],
      "solutions": [
        {
          "lang": "en",
          "value": "Upgrade to Storable version 3.05 or newer."
        }
      ],
      "source": {
        "discovery": "UNKNOWN"
      },
      "timeline": [
        {
          "lang": "en",
          "time": "2017-01-24T00:00:00.000Z",
          "value": "Perl bug RT1 30635 reported."
        },
        {
          "lang": "en",
          "time": "2017-01-25T00:00:00.000Z",
          "value": "Patch committed."
        },
        {
          "lang": "en",
          "time": "2017-01-29T00:00:00.000Z",
          "value": "Storable version 3.05 released."
        },
        {
          "lang": "en",
          "time": "2018-02-20T00:00:00.000Z",
          "value": "Perl v5.27.9 released with Storable 3.06."
        },
        {
          "lang": "en",
          "time": "2018-10-06T00:00:00.000Z",
          "value": "issue assigned CPANSA-Storable-2017-01 in the CPANSA distribution."
        }
      ],
      "title": "Storable versions before 3.05 for Perl has a stack overflow",
      "x_generator": {
        "engine": "cpansec-cna-tool 0.1"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
    "assignerShortName": "CPANSec",
    "cveId": "CVE-2017-20230",
    "datePublished": "2026-04-21T15:26:18.216Z",
    "dateReserved": "2026-03-28T19:24:26.125Z",
    "dateUpdated": "2026-04-21T18:22:25.354Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"http://www.openwall.com/lists/oss-security/2026/04/21/5\"}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2026-04-21T18:22:25.354Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"cvssV3_1\": {\"scope\": \"CHANGED\", \"version\": \"3.1\", \"baseScore\": 10, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"CRITICAL\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H\", \"integrityImpact\": \"HIGH\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"NONE\", \"confidentialityImpact\": \"HIGH\"}}, {\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2017-20230\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-04-21T16:28:22.354136Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-04-21T16:28:46.584Z\"}}], \"cna\": {\"title\": \"Storable versions before 3.05 for Perl has a stack overflow\", \"source\": {\"discovery\": \"UNKNOWN\"}, \"affected\": [{\"repo\": \"https://github.com/Perl/perl5/\", \"vendor\": \"NWCLARK\", \"product\": \"Storable\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"3.05\", \"versionType\": \"custom\"}], \"packageName\": \"Storable\", \"collectionURL\": \"https://cpan.org/modules\", \"defaultStatus\": \"unaffected\"}], \"timeline\": [{\"lang\": \"en\", \"time\": \"2017-01-24T00:00:00.000Z\", \"value\": \"Perl bug RT1 30635 reported.\"}, {\"lang\": \"en\", \"time\": \"2017-01-25T00:00:00.000Z\", \"value\": \"Patch committed.\"}, {\"lang\": \"en\", \"time\": \"2017-01-29T00:00:00.000Z\", \"value\": \"Storable version 3.05 released.\"}, {\"lang\": \"en\", \"time\": \"2018-02-20T00:00:00.000Z\", \"value\": \"Perl v5.27.9 released with Storable 3.06.\"}, {\"lang\": \"en\", \"time\": \"2018-10-06T00:00:00.000Z\", \"value\": \"issue assigned CPANSA-Storable-2017-01 in the CPANSA distribution.\"}], \"solutions\": [{\"lang\": \"en\", \"value\": \"Upgrade to Storable version 3.05 or newer.\"}], \"references\": [{\"url\": \"https://github.com/Perl/perl5/issues/15831\", \"tags\": [\"issue-tracking\"]}, {\"url\": \"https://github.com/Perl/perl5/commit/a258c17c6937f79529c8319a829310e09cdbd216.patch\", \"tags\": [\"patch\"]}, {\"url\": \"https://metacpan.org/release/RURBAN/Storable-3.05/changes\", \"tags\": [\"release-notes\"]}, {\"url\": \"https://www.nntp.perl.org/group/perl.perl5.porters/2017/01/msg242533.html\", \"tags\": [\"mailing-list\"]}, {\"url\": \"https://www.nntp.perl.org/group/perl.perl5.porters/2017/01/msg242703.html\", \"tags\": [\"mailing-list\"]}], \"x_generator\": {\"engine\": \"cpansec-cna-tool 0.1\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"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.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-121\", \"description\": \"CWE-121 Stack-based Buffer Overflow\"}]}], \"providerMetadata\": {\"orgId\": \"9b29abf9-4ab0-4765-b253-1875cd9b441e\", \"shortName\": \"CPANSec\", \"dateUpdated\": \"2026-04-21T15:30:39.000Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2017-20230\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-04-21T18:22:25.354Z\", \"dateReserved\": \"2026-03-28T19:24:26.125Z\", \"assignerOrgId\": \"9b29abf9-4ab0-4765-b253-1875cd9b441e\", \"datePublished\": \"2026-04-21T15:26:18.216Z\", \"assignerShortName\": \"CPANSec\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…