PatchSiren

PatchSiren cyber security CVE debrief

CVE-2026-41565 MIK CVE debrief

CryptX versions before 0.088_001 for Perl contain a stack buffer overflow vulnerability in four AEAD decrypt_verify helper functions. The affected routines—gcm_decrypt_verify, ccm_decrypt_verify, chacha20poly1305_decrypt_verify, and eax_decrypt_verify—copy caller-supplied authentication tags into a fixed 144-byte stack buffer (MAXBLOCKSIZE) without validating the tag length. An attacker-controlled tag longer than 144 bytes triggers stack corruption. Version 0.088 introduced length clamping for gcm_decrypt_verify, and version 0.088_001 extended this protection to the remaining three functions. Any application passing untrusted authentication tag data to these helpers is vulnerable to memory corruption and potential code execution.

Vendor
MIK
Product
CryptX
CVSS
HIGH 7.5
CISA KEV
Not listed in stored evidence
Original CVE published
2026-05-28
Original CVE updated
2026-05-29
Advisory published
2026-05-28
Advisory updated
2026-05-29

Who should care

Organizations running Perl applications that use CryptX for AEAD encryption operations, particularly those processing untrusted encrypted data from network sources, file uploads, or external APIs. Developers maintaining Perl-based cryptographic tools, VPN software, messaging systems, or any application that performs AEAD decryption with externally supplied authentication tags. Security teams responsible for dependency management in Perl environments using CPAN modules.

Technical summary

The vulnerability exists in four XS (Perl C extension) routines that implement AEAD decryption with authentication tag verification. Each routine declares a fixed 144-byte stack buffer (MAXBLOCKSIZE) to hold the authentication tag. The code uses memcpy or equivalent to copy the caller-supplied tag into this buffer without first checking the supplied length against MAXBLOCKSIZE. An attacker providing a tag longer than 144 bytes causes a stack buffer overflow, overwriting adjacent stack variables, saved registers, and potentially the return address. The fix introduces explicit length clamping: gcm_decrypt_verify was patched in version 0.088, and the remaining three functions (ccm_decrypt_verify, chacha20poly1305_decrypt_verify, eax_decrypt_verify) were patched in version 0.088_001. The vulnerability is exploitable when the authentication tag is derived from attacker-controlled input, which may occur in network protocols, file formats, or APIs that accept encrypted data with external authentication tags.

Defensive priority

high

Recommended defensive actions

  • Upgrade CryptX to version 0.088_001 or later to obtain the length validation fixes for all four affected AEAD decrypt_verify helpers
  • Review application code for any direct or indirect calls to gcm_decrypt_verify, ccm_decrypt_verify, chacha20poly1305_decrypt_verify, or eax_decrypt_verify that may forward attacker-controlled authentication tag data
  • Implement input validation to ensure authentication tag lengths do not exceed expected bounds before passing to CryptX functions
  • Monitor for security advisories from the CryptX maintainers regarding this vulnerability
  • If immediate patching is not feasible, restrict access to applications using vulnerable CryptX versions and audit authentication tag handling paths

Evidence notes

The vulnerability description is sourced from the official CVE record published 2026-05-28. Fix commits are documented in the source references. The weakness is classified as CWE-121 (Stack-based Buffer Overflow). Vendor attribution to MIK is marked low-confidence and requires review based on Metacpan reference domain candidate.

Official resources

2026-05-28