CVE-2017-20230
Storable versions before 3.05 for Perl has a stack overflow
CVE-2017-20230 is a critical vulnerability (CVSS 10.0) in Nwclark Storable, published April 21, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.64%, the 50th percentile. Fixed in perl 5.28.0-3.
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
10.0
Storable versions before 3.05 for Perl has a stack overflow
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.
- Record
CVE-2017-20230- CVSS 3.1
- 10.0 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H - Weakness
- CWE-121
- Updated
- 2026-11-02
EUVDEUVD-2017-18967
10.0
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.
- Record
EUVD-2017-18967- CVSS 3.1
- 10.0 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-6r7m-2wh8-438w
10.0
Storable versions before 3.05 for Perl has a stack overflow. The retrieve_hook function stored...
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.
- Record
GHSA-6r7m-2wh8-438w- CVSS 3.1
- 10.0 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H - Weakness
- CWE-121
- Updated
- 2026-11-02
NVD
10.0
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.
- Record
CVE-2017-20230- CVSS 3.1
- 10.0 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H - Weakness
- CWE-121
- Updated
- 2026-11-02
OSV
10.0
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.
- Record
CVE-2017-20230- CVSS 3.1
- 10.0 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2017-20230
10.0
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.
- Record
DEBIAN-CVE-2017-20230- CVSS 3.1
- 10.0 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H - Updated
- 2026-11-02
OSVRHSA-2026:7578
6.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
- Record
RHSA-2026:7578- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2017-20230
10.0
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.
- Record
UBUNTU-CVE-2017-20230- CVSS 3.1
- 10.0 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H - Updated
- 2026-11-02
OSVSUSE-SU-2026:1567-1 No score
Security update for perl
This update for perl fixes the following issue:
- CVE-2017-20230: Storable versions before 3.05 for Perl has a stack overflow (bsc#1262486).
- Record
SUSE-SU-2026:1567-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
perlDebian:12 |
before 5.28.0-3 | 5.28.0-3 |
perlDebian:13 |
before 5.28.0-3 | 5.28.0-3 |
perlDebian:14 |
before 5.28.0-3 | 5.28.0-3 |
perl-StorableRed Hat:hummingbird:1 |
before 0:3.37-522.1.hum1 | 0:3.37-522.1.hum1 |
perl-Storable-testsRed Hat:hummingbird:1 |
before 0:3.37-522.1.hum1 | 0:3.37-522.1.hum1 |
perlSUSE:Linux Enterprise Server 12 SP5-LTSS |
before 5.18.2-12.32.1 | 5.18.2-12.32.1 |
perlSUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 |
before 5.18.2-12.32.1 | 5.18.2-12.32.1 |
perlUbuntu:Pro:14.04:LTS |
All versions, plus listed versions 5.14.2-21build15.18.1-45.18.1-4build15.18.1-55.18.2-2 Show 12 moreShow less5.18.2-2ubuntu15.18.2-2ubuntu1.15.18.2-2ubuntu1.35.18.2-2ubuntu1.45.18.2-2ubuntu1.65.18.2-2ubuntu1.75.18.2-2ubuntu1.7+esm35.18.2-2ubuntu1.7+esm45.18.2-2ubuntu1.7+esm55.18.2-2ubuntu1.7+esm75.18.2-2ubuntu1.7+esm85.18.2-2ubuntu1.7+esm9 |
None known |
perlUbuntu:Pro:16.04:LTS |
All versions, plus listed versions 5.20.2-65.22.1-35.22.1-45.22.1-55.22.1-7 Show 11 moreShow less5.22.1-85.22.1-95.22.1-9ubuntu0.25.22.1-9ubuntu0.35.22.1-9ubuntu0.55.22.1-9ubuntu0.65.22.1-9ubuntu0.95.22.1-9ubuntu0.9+esm15.22.1-9ubuntu0.9+esm25.22.1-9ubuntu0.9+esm35.22.1-9ubuntu0.9+esm4 |
None known |
perlUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 5.26.0-8ubuntu15.26.1-2ubuntu15.26.1-35.26.1-45.26.1-4build1 Show 11 moreShow less5.26.1-55.26.1-65.26.1-6ubuntu0.15.26.1-6ubuntu0.25.26.1-6ubuntu0.35.26.1-6ubuntu0.55.26.1-6ubuntu0.65.26.1-6ubuntu0.75.26.1-6ubuntu0.7+esm25.26.1-6ubuntu0.7+esm35.26.1-6ubuntu0.7+esm4 |
None known |
perlUbuntu:Pro:20.04:LTS |
All versions, plus listed versions 5.28.1-6build15.30.0-75.30.0-95.30.0-9build15.30.0-9ubuntu0.2 Show 6 moreShow less5.30.0-9ubuntu0.35.30.0-9ubuntu0.45.30.0-9ubuntu0.55.30.0-9ubuntu0.5+esm25.30.0-9ubuntu0.5+esm35.30.0-9ubuntu0.5+esm4 |
None known |
History
| When | Changed | Sources |
|---|---|---|
| 2026-11-02 | created | CVE List, EUVD, GitHub Advisories, NVD, OSV |
References
github.com/Perl/perl5/issues/15831
github.com/Perl/perl5/commit/a258c17c6937f79529c8319a829310e09cdbd216.patch
metacpan.org/release/RURBAN/Storable-3.05/changes
nntp.perl.org/group/perl.perl5.porters/2017/01/msg242533.html
nntp.perl.org/group/perl.perl5.porters/2017/01/msg242703.html
openwall.com/lists/oss-security/2026/04/21/5
Show 16 moreShow less
nvd.nist.gov/vuln/detail/CVE-2017-20230
github.com/advisories/GHSA-6r7m-2wh8-438w
security-tracker.debian.org/tracker/CVE-2017-20230
access.redhat.com/errata/RHSA-2026:7578
images.redhat.com
access.redhat.com/security/cve/CVE-2017-20230
access.redhat.com/security/updates/classification
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_7578.json
bugzilla.redhat.com/show_bug.cgi?id=2460147
cve.org/CVERecord?id=CVE-2017-20230
suse.com/support/update/announcement/2026/suse-su-20261567-1
bugzilla.suse.com/1262486
suse.com/security/cve/CVE-2017-20230
ubuntu.com/security/CVE-2017-20230
lists.security.metacpan.org/cve-announce/msg/39144694
github.com/Perl/perl5/commit/a258c17c6937f79529c8319a829310e09cdbd216