{"api_version":"1","generated_at":"2026-07-13T22:23:03+00:00","cve":"CVE-2026-57432","urls":{"html":"https://cve.report/CVE-2026-57432","api":"https://cve.report/api/cve/CVE-2026-57432.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-57432","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-57432"},"summary":{"title":"Perl versions through 5.43.10 have an integer overflow in S_measure_struct leading to an out-of-bounds heap read in pack and unpack","description":"Perl versions through 5.43.10 have an integer overflow in S_measure_struct leading to an out-of-bounds heap read in pack and unpack.\n\nS_measure_struct adds each item's size times its repeat count to a running total with no overflow check, so a large repeat count in a pack or unpack template wraps the signed SSize_t total negative. The @, X, and x position codes then guard their moves with a signed length comparison that passes when the length is negative, advancing the buffer pointer out of bounds.\n\nA template derived from untrusted input can read heap memory past the buffer and return it to the caller.","state":"PUBLISHED","assigner":"CPANSec","published_at":"2026-07-13 17:17:55","updated_at":"2026-07-13 20:16:48"},"problem_types":["CWE-125","CWE-190","CWE-190 CWE-190 Integer Overflow or Wraparound","CWE-125 CWE-125 Out-of-bounds Read"],"metrics":[],"references":[{"url":"http://www.openwall.com/lists/oss-security/2026/07/13/6","name":"http://www.openwall.com/lists/oss-security/2026/07/13/6","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/Perl/perl5/commit/40754edc72dd3e513d758153c0e2f0215897740e.patch","name":"https://github.com/Perl/perl5/commit/40754edc72dd3e513d758153c0e2f0215897740e.patch","refsource":"9b29abf9-4ab0-4765-b253-1875cd9b441e","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/Perl/perl5/commit/5f7eb6bbbe0510964e3fb1d6bb691e5445913e55.patch","name":"https://github.com/Perl/perl5/commit/5f7eb6bbbe0510964e3fb1d6bb691e5445913e55.patch","refsource":"9b29abf9-4ab0-4765-b253-1875cd9b441e","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-57432","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-57432","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"SHAY","product":"perl","version":"affected 5.43.10 custom","platforms":[]}],"timeline":[],"solutions":[{"source":"CNA","title":"","value":"Apply the upstream patches. The fix is included in the Perl 5.43.11 development release.","time":"","lang":"en"}],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"providerMetadata":{"dateUpdated":"2026-07-13T19:30:46.712Z","orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE"},"references":[{"url":"http://www.openwall.com/lists/oss-security/2026/07/13/6"}],"title":"CVE Program Container"}],"cna":{"affected":[{"collectionURL":"https://cpan.org/modules","defaultStatus":"unaffected","packageName":"perl","product":"perl","programFiles":["pp_pack.c"],"programRoutines":[{"name":"S_measure_struct"}],"repo":"https://github.com/Perl/perl5","vendor":"SHAY","versions":[{"lessThanOrEqual":"5.43.10","status":"affected","version":"0","versionType":"custom"}]}],"descriptions":[{"lang":"en","value":"Perl versions through 5.43.10 have an integer overflow in S_measure_struct leading to an out-of-bounds heap read in pack and unpack.\n\nS_measure_struct adds each item's size times its repeat count to a running total with no overflow check, so a large repeat count in a pack or unpack template wraps the signed SSize_t total negative. The @, X, and x position codes then guard their moves with a signed length comparison that passes when the length is negative, advancing the buffer pointer out of bounds.\n\nA template derived from untrusted input can read heap memory past the buffer and return it to the caller."}],"problemTypes":[{"descriptions":[{"cweId":"CWE-190","description":"CWE-190 Integer Overflow or Wraparound","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-125","description":"CWE-125 Out-of-bounds Read","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-07-13T15:38:20.728Z","orgId":"9b29abf9-4ab0-4765-b253-1875cd9b441e","shortName":"CPANSec"},"references":[{"tags":["patch"],"url":"https://github.com/Perl/perl5/commit/5f7eb6bbbe0510964e3fb1d6bb691e5445913e55.patch"},{"tags":["patch"],"url":"https://github.com/Perl/perl5/commit/40754edc72dd3e513d758153c0e2f0215897740e.patch"}],"solutions":[{"lang":"en","value":"Apply the upstream patches. The fix is included in the Perl 5.43.11 development release."}],"source":{"discovery":"UNKNOWN"},"title":"Perl versions through 5.43.10 have an integer overflow in S_measure_struct leading to an out-of-bounds heap read in pack and unpack","x_generator":{"engine":"cpansec-cna-tool 0.1"}}},"cveMetadata":{"assignerOrgId":"9b29abf9-4ab0-4765-b253-1875cd9b441e","assignerShortName":"CPANSec","cveId":"CVE-2026-57432","datePublished":"2026-07-13T15:38:20.728Z","dateReserved":"2026-06-24T13:09:26.322Z","dateUpdated":"2026-07-13T19:30:46.712Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-07-13 17:17:55","lastModifiedDate":"2026-07-13 20:16:48","problem_types":["CWE-125","CWE-190","CWE-190 CWE-190 Integer Overflow or Wraparound","CWE-125 CWE-125 Out-of-bounds Read"],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"57432","Ordinal":"1","Title":"Perl versions through 5.43.10 have an integer overflow in S_meas","CVE":"CVE-2026-57432","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"57432","Ordinal":"1","NoteData":"Perl versions through 5.43.10 have an integer overflow in S_measure_struct leading to an out-of-bounds heap read in pack and unpack.\n\nS_measure_struct adds each item's size times its repeat count to a running total with no overflow check, so a large repeat count in a pack or unpack template wraps the signed SSize_t total negative. The @, X, and x position codes then guard their moves with a signed length comparison that passes when the length is negative, advancing the buffer pointer out of bounds.\n\nA template derived from untrusted input can read heap memory past the buffer and return it to the caller.","Type":"Description","Title":"Perl versions through 5.43.10 have an integer overflow in S_meas"}]}}}