Cloudanix VulnDB

CVE-2017-14062

Critical · 9.8

CVSS

9.8

EPSS

3.9%

Published

Aug 31, 2017

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A flaw in software that handles web addresses with special characters can let attackers crash or take over affected systems by sending bad data.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Full Compromise
Component
Library
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Integer overflow in decode_digit during Punycode decoding leads to memory corruption, enabling denial of service or potential remote code execution.

Why it matters to the business

Systems relying on international domain name handling may experience crashes, outages, or full compromise if attackers supply malicious input, affecting availability and confidentiality of dependent services.

How an attack unfolds

An attacker crafts a specially formed Punycode string that triggers the integer overflow in the vulnerable decode_digit function when processed by Libidn2, causing memory corruption that can be leveraged for denial of service or further exploitation.

How to fix it

Upgrade Libidn2 to version 2.0.4 or later; for listed packages apply the exact fixes: libidn/libidn2 to commit 3284eb342cd0ed1a18786e3fcdf0cdd7e76676bd and prometheus-postgres-exporter variants to 0.15.0-r11.

How to confirm the fix worked

Verify installed Libidn2 version is 2.0.4 or newer; confirm package versions match the provided fixed releases and test decoding of internationalized strings for stability.

Typical attack path

  1. Locate services accepting internationalized domain names or Punycode strings that use vulnerable Libidn2
  2. Craft malicious input triggering integer overflow in decode_digit
  3. Deliver payload via network request, DNS resolution, or application input
  4. Trigger processing path leading to memory corruption and denial of service or code execution

How to detect it

Review application and system logs for crashes or errors during international domain name or Punycode processing; look for unexpected terminations in processes using Libidn2.

What your security team should do

  • Prioritize upgrade of all Libidn2 instances and dependent packages to the specified fixed versions
  • Scan inventories for any remaining vulnerable Libidn2 deployments
  • Monitor for application crashes during string decoding operations

The record

Integer overflow in the decode_digit function in puny_decode.c in Libidn2 before 2.0.4 allows remote attackers to cause a denial of service or possibly have unspecified other impact.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 libidn 0 1.33-2
Debian:12 libidn 0 1.33-2
Debian:13 libidn 0 1.33-2
Debian:14 libidn 0 1.33-2
Debian:7 libidn 0 1.25-2+deb7u3
Debian:7 libidn2-0 0 0.8-2+deb7u1
Debian:8 libidn 0 1.29-1+deb8u3
Debian:8 libidn2-0 0 0.10-2+deb8u1
Debian:9 libidn2-0 0 0.16-1+deb9u1
Mageia:5 libidn 0 1.33-1.1.mga5
Mageia:6 libidn 0 1.33-1.1.mga6
SUSE:Linux Enterprise Desktop 12 SP3 libidn 0 1.28-5.3.1
SUSE:Linux Enterprise Server 11 SP4 libidn 0 1.10-7.3.1
SUSE:Linux Enterprise Server 12 SP3 libidn 0 1.28-5.3.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 libidn 0 1.10-7.3.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 libidn 0 1.28-5.3.1
SUSE:Linux Enterprise Software Development Kit 11 SP4 libidn 0 1.10-7.3.1
SUSE:Linux Enterprise Software Development Kit 12 SP3 libidn 0 1.28-5.3.1
Ubuntu:14.04:LTS libidn 0 1.28-1ubuntu2.2
Ubuntu:16.04:LTS libidn 0 1.32-3ubuntu1.2
Ubuntu:18.04:LTS libidn 0 1.33-2
Ubuntu:Pro:14.04:LTS libidn2-0 0 0.9-1ubuntu0.1~esm1
Ubuntu:Pro:16.04:LTS libidn2-0 0 0.10-3ubuntu0.1~esm1

Related vulnerabilities