CVE-2016-10166
Exploitation likely. EPSS gives it a 11% chance of exploitation in the next 30 days. A vendor fix is available.
What to do
The vendor has published a fix. Version details are below where the sources state them.
Steps
Written by AI from the record- Check whether your servers or applications include libgd and identify its installed version.
- Update libgd to version 2.2.4 or later through your operating system, application vendor, or deployment process.
- If an update must wait, stop accepting untrusted images in affected image-smoothing workflows and restrict public access to the application.
- Review application errors for image-processing crashes after applying the update.
What it is
From the CVE record
Integer underflow in the _gdContributionsAlloc function in gd_interpolation.c in the GD Graphics Library (aka libgd) before 2.2.4 allows remote attackers to have unspecified impact via vectors related to decrementing the u variable.
In plain language
Written by AI from the recordlibgd before 2.2.4 can be crashed or potentially taken over by a malicious image, so small businesses using it should arrange an update.
Remote, unauthenticated integer underflow in libgd image-smoothing memory allocation can process crafted input with an invalid allocation size, causing denial of service or potential code execution.
If you're affected
- Application crashes
- Possible server takeover
- Image-processing disruption
- Customer upload risk
Exploitation
Where each signal puts this CVE on the scale from published to confirmed exploited.
- CISA KEV
Not in the catalog. CISA has not confirmed exploitation.
- Public exploits
No public exploit or proof of concept found in the sources we track.
- EPSS
11% chance of exploitation activity in the next 30 days, which ranks it in the 96th percentile of scored CVEs.
Exploit Prediction Scoring System, FIRST.org. A probability, not a confirmation.
- Attention now
Rising.
Real risk signals with little public attention so far.
Lifecycle
24 events over 3479 days, from the signal feeds we watch.
- EPSS band change0 → moderateepss band change
- EPSS band changemoderate → 0epss band change
- EPSS band change0 → moderateepss band change
- EPSS band changemoderate → 0epss band change
- EPSS band change0 → moderateepss band change
- EPSS band changemoderate → low
Affected products
Technical detail
CVSS 3.0 vector
Open in the CVSS calculatorCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Scored 9.8 by NVD.
How it is reached
- Attack Vector NetworkExploitable remotely over the network without any special conditions
- Attack Complexity LowNo special conditions — the attack can be reliably reproduced
- Privileges Required NoneNo authentication required — anyone can exploit this
- User Interaction NoneNo user interaction needed — fully automated exploitation
Scope
- Scope UnchangedImpact is limited to the vulnerable component itself
Impact if exploited
- Confidentiality HighTotal information disclosure — all data in the component is compromised
- Integrity HighTotal loss of integrity — attacker can modify any data in the component
- Availability HighTotal denial of service — the component is completely unavailable
Weaknesses
ATT&CK techniques
Mapped from the weaknesses above (CWE to ATT&CK), not observed in attacks.
- Initial AccessT1190Exploit Public-Facing Applicationmedium confidence
Sources
References in the record
- libgd.github.io/release-2.2.4.html
- debian.org/security/2017/dsa-3777
- openwall.com/lists/oss-security/2017/01/26/1
And 9 more references. See all after sign-in
Watch the software you run.
My Stack ranks new CVEs for your products by real-world exploitation, so the next serious one reaches you without reading every advisory.
We'll flag the next CVE, public exploit or patch for Libgd, not every advisory.
A free account adds
- The full version matrix and every affected product
- Exploit links, proofs of concept and Metasploit modules
- Email alerts for the products you watch
- The same data over REST API, MCP and CLI