CVE-2016-15059
Received Received - Intake

Heap Buffer Overflow in Net::IDN::Punycode Perl Module

Vulnerability report for CVE-2016-15059, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-22

Last updated on: 2026-09-22

Assigner: CPANSec

Description

Net::IDN::Punycode versions before 2.301 for Perl allow a heap buffer overflow via unchecked writes past the output buffer in encode_punycode. The XS backend builds the encoded label in the string buffer of the scalar it returns, sized from the input length. The loop that emits the digits of each code point checks for room before every write, but the write of the last digit of each round and the write of the terminating NUL do not, so an input whose encoded form fills the buffer writes past its end. Only the XS backend is affected. Encoding an attacker-supplied string corrupts the heap.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-22
Last Modified
2026-09-22
Generated
2026-09-22
AI Q&A
2026-09-22
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Currently, no data is known.

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-122 A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc().

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is a heap buffer overflow vulnerability in Net::IDN::Punycode versions before 2.301 for Perl. It occurs when encoding attacker-supplied strings using the XS backend. The issue involves unchecked writes past the output buffer during the encode_punycode process, leading to memory corruption and potential heap overflow.

Detection Guidance

This vulnerability affects the Perl module Net::IDN::Punycode versions before 2.301. To detect it, check the installed version of the module using commands like 'cpan -D Net::IDN::Punycode' or 'perl -MNet::IDN::Punycode -e "print $Net::IDN::Punycode::VERSION"'. If the version is below 2.301, the system is vulnerable.

Impact Analysis

An attacker could exploit this to corrupt memory on the system running the vulnerable Perl module. This may lead to crashes, data corruption, or arbitrary code execution, depending on the system's memory layout and protections. Only systems using the XS backend of Net::IDN::Punycode are affected.

Compliance Impact

This vulnerability primarily affects memory safety and could lead to arbitrary code execution or denial of service. While not directly related to data privacy, a successful exploit could compromise systems handling sensitive data, potentially violating GDPR or HIPAA if personal or health information is exposed or altered.

Mitigation Strategies

Update the Net::IDN::Punycode module to version 2.301 or later using 'cpan upgrade Net::IDN::Punycode'. If updating is not possible, consider removing the module if it is not required for your applications.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2016-15059. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart