CVE-2026-57433
NixOS 취약성 분석 및 완화

개요

CVE-2026-57433 is a signed integer overflow vulnerability in the Storable module for Perl affecting all versions before 3.41. The flaw exists in the deserialization logic for SX_HOOK records and can be triggered by passing a crafted serialized blob to the thaw or retrieve functions. It was disclosed on July 13, 2026, by the CPAN Security Group (CPANSec) via the oss-security mailing list and the GitHub Advisory Database. The vulnerability carries a CVSS v3.1 base score of 9.8 (Critical) (GitHub Advisory, Openwall).

기술적 세부 사항

The root cause is an integer overflow or wraparound (CWE-190) in the retrieve_hook_common function within Storable.xs. This function reads a signed 32-bit item count (len3) from an SX_HOOK record and then calls av_extend(av, len3 + 1) to allocate an array. When len3 equals I32_MAX (2,147,483,647), adding one wraps the value to a large negative number due to signed integer overflow, causing av_extend to receive an invalid negative count and terminate with a panic. The fix, authored by Paul "LeoNerd" Evans, adds an explicit check: if len3 == I32_MAX, deserialization is aborted with an "Invalid count of hook data items" error before av_extend is called. No authentication or user interaction is required — any application that deserializes untrusted data using Storable's thaw or retrieve is exploitable over the network (Perl5 Commit, Openwall).

영향

The primary confirmed impact is a Denial of Service (DoS): a crafted blob causes the Perl process performing deserialization to panic and terminate, disrupting any application relying on Storable for data exchange or persistence. The CVSS score of 9.8 reflects theoretical high confidentiality, integrity, and availability impacts, though the currently documented exploitation path results in application crash rather than code execution. Applications that process untrusted serialized Storable data — such as web services, caching layers, or IPC mechanisms — are at risk of being crashed by any unauthenticated network attacker who can supply input to the deserialization functions (GitHub Advisory, Openwall).

착취 단계

  1. Identify target: Locate a Perl application that accepts externally supplied serialized data and processes it using Storable's thaw or retrieve functions (e.g., a web API endpoint, a caching service, or an IPC mechanism).
  2. Craft malicious blob: Construct a Storable-format serialized blob containing an SX_HOOK record where the 32-bit signed item count field (len3) is set to I32_MAX (0x7FFFFFFF).
  3. Submit the payload: Deliver the crafted blob to the target application via the relevant input channel (e.g., HTTP request body, message queue, shared memory, or file upload).
  4. Trigger the overflow: When the application calls thaw or retrieve on the blob, retrieve_hook_common reads the I32_MAX count and computes len3 + 1, which wraps to a negative value, causing av_extend to panic.
  5. Achieve DoS: The Perl interpreter terminates with a panic, crashing the application or worker process and causing a denial of service (Openwall, Perl5 Commit).

타협의 징후

  • Logs: Perl application logs showing unexpected panic messages such as panic: av_extend or Invalid count of hook data items originating from Storable deserialization code.
  • Process: Sudden termination or crash of Perl worker processes handling deserialization tasks; repeated process restarts by a supervisor (e.g., systemd, Starman, Plack) without a clear application-level error.
  • Network: Unusual or malformed binary blobs submitted to application endpoints that accept serialized Perl data; repeated requests to the same endpoint resulting in process crashes.
  • Application: Error logs referencing Storable.xs, retrieve_hook_common, or SX_HOOK in stack traces.

완화 및 해결 방법

Upgrade Storable to version 3.41 or later, which includes the fix that explicitly rejects SX_HOOK records with an item count of I32_MAX (Perl5 Commit, Openwall). Storable is distributed as part of the Perl core, so upgrading Perl itself or the standalone CPAN distribution (cpan install Storable) will apply the fix. As an interim workaround, restrict the use of thaw and retrieve to trusted, internally generated data sources only, and avoid deserializing any user-supplied or externally sourced serialized blobs.

커뮤니티 반응

The vulnerability was disclosed by Stig Palmquist on behalf of the CPAN Security Group (CPANSec) via the oss-security mailing list on July 13, 2026 (Openwall). The fix was authored by Paul "LeoNerd" Evans and merged into the Perl 5 repository. The issue was noted in the Perl perldelta release notes (MetaCPAN) and received standard coverage from vulnerability tracking services. No significant broader community controversy or threat actor commentary has been observed.

추가 자료


근원이 보고서는 AI를 사용하여 생성되었습니다.

관련 NixOS 취약점:

CVE ID

심각도

점수

기술

구성 요소 이름

CISA KEV 익스플로잇

수정 사항이 있습니다.

게시된 날짜

CVE-2026-16412CRITICAL9.8
  • NixOS logoNixOS
  • firefox-esr
아니요Jul 21, 2026
CVE-2026-16411CRITICAL9.8
  • NixOS logoNixOS
  • mozjs38
아니요Jul 21, 2026
CVE-2026-16410CRITICAL9.8
  • NixOS logoNixOS
  • cpe:2.3:a:mozilla:firefox
아니요Jul 21, 2026
CVE-2026-16408CRITICAL9.8
  • NixOS logoNixOS
  • cpe:2.3:a:mozilla:firefox
아니요Jul 21, 2026
CVE-2026-16409HIGH7.5
  • NixOS logoNixOS
  • cpe:2.3:a:mozilla:firefox
아니요Jul 21, 2026

무료 취약성 평가

클라우드 보안 태세를 벤치마킹합니다

9개의 보안 도메인에서 클라우드 보안 관행을 평가하여 위험 수준을 벤치마킹하고 방어의 허점을 식별합니다.

평가 요청

추가 Wiz 리소스

맞춤형 데모 받기

맞춤형 데모 신청하기

"내가 본 최고의 사용자 경험은 클라우드 워크로드에 대한 완전한 가시성을 제공합니다."
데이비드 에슬릭최고정보책임자(CISO)
"Wiz는 클라우드 환경에서 무슨 일이 일어나고 있는지 볼 수 있는 단일 창을 제공합니다."
아담 플레처최고 보안 책임자(CSO)
"우리는 Wiz가 무언가를 중요한 것으로 식별하면 실제로 중요하다는 것을 알고 있습니다."
그렉 포니아토프스키위협 및 취약성 관리 책임자