CVE-2021-46310
Medium · 6.5CVSS
6.5
EPSS
1.0%
Published
Aug 22, 2023
CISA due date
—
Cloudanix analysis
A flaw in image-handling software can make programs crash when they try to open certain bad image files created by attackers.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- Library
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Processing of specially crafted IW44 image data in IW44Image.cpp triggers a division by zero, resulting in an application crash and denial of service.
Why it matters to the business
Applications using this library become unavailable when users open or process malicious image files, leading to service interruptions and potential loss of productivity for users handling DJVU content.
How an attack unfolds
An attacker crafts a malformed DJVU file containing IW44 data designed to cause division by zero during parsing. The file is delivered to the target application via network or file share. Upon processing with djvulibre, the library encounters the zero divisor and crashes. Public exploits are available, increasing the likelihood of automated attacks despite low EPSS.
How to fix it
Upgrade djvulibre to the latest available version that resolves the divide-by-zero condition in IW44Image.cpp. Where no fixed release exists, implement sandboxing or input validation wrappers around image processing. Disable support for untrusted DJVU files until a patch is applied.
How to confirm the fix worked
Test the library against known crashing IW44 payloads to confirm absence of division by zero. Monitor process stability under malformed input and review source for safe division guards in IW44Image.cpp.
Typical attack path
- Craft malicious DJVU image embedding IW44 data with zero divisor values
- Deliver the file to the victim via email, web download, or shared storage
- Victim application or service invokes djvulibre to parse or render the image
- Division by zero occurs in IW44Image.cpp causing immediate process termination
How to detect it
Monitor application and system logs for segmentation faults, aborts, or crashes occurring during djvulibre image parsing. Correlate spikes in image-processing failures with user-reported unavailability of services handling DJVU files.
What your security team should do
- Immediately evaluate and apply any upstream patches for djvulibre
- Restrict processing of untrusted DJVU or IW44 content until mitigated
- Add crash monitoring and alerting for djvulibre-related processes
- Review and reduce dependency on the affected library where possible
The record
An issue was discovered IW44Image.cpp in djvulibre 3.5.28 in allows attackers to cause a denial of service via divide by zero.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | djvulibre | 0 | No fix |
| Debian:12 | djvulibre | 0 | No fix |
| Debian:13 | djvulibre | 0 | No fix |
| Debian:14 | djvulibre | 0 | 3.5.28-2.2 |
| Mageia:9 | djvulibre | 0 | 3.5.28-5.1.mga9 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 | djvulibre | 0 | 3.5.27-150200.11.14.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | djvulibre | 0 | 3.5.27-150200.11.14.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP4 | djvulibre | 0 | 3.5.27-150200.11.14.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP5 | djvulibre | 0 | 3.5.27-150200.11.14.1 |
| SUSE:Linux Enterprise Server 12 SP5 | djvulibre | 0 | 3.5.25.3-5.22.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | djvulibre | 0 | 3.5.25.3-5.22.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | djvulibre | 0 | 3.5.25.3-5.22.1 |
| Ubuntu:18.04:LTS | djvulibre | 0 | No fix |
| Ubuntu:20.04:LTS | djvulibre | 0 | No fix |
| Ubuntu:22.04:LTS | djvulibre | 0 | No fix |
| Ubuntu:24.04:LTS | djvulibre | 0 | No fix |
| Ubuntu:24.10 | djvulibre | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | djvulibre | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | djvulibre | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | djvulibre | 0 | No fix |
| openSUSE:Leap 15.4 | djvulibre | 0 | 3.5.27-150200.11.14.1 |
| openSUSE:Leap 15.5 | djvulibre | 0 | 3.5.27-150200.11.14.1 |
| openSUSE:Tumbleweed | djvulibre | 0 | 3.5.28-6.1 |
Related vulnerabilities
- CVE-2021-46312 An issue was discovered IW44EncodeCodec.cpp in djvulibre 3.5.28 in allows attackers to… Also affects djvulibre
- CVE-2021-3630 An out-of-bounds write vulnerability was found in DjVuLibre in DJVU::DjVuTXT::decode() in… Also affects djvulibre
- CVE-2021-32490 A flaw was found in djvulibre-3.5.28 and earlier. Also affects djvulibre
- CVE-2026-112054 Schroedinger libschroedinger through 1.0.11 contains a divide by zero vulnerability that… CWE-369
- CVE-2026-93589 ImageMagick before 7.1.2-31 and 6.9.13-56 contains a division-by-zero flaw in the FLIF… CWE-369
- CVE-2026-15417 In the silabser.sys Windows 8 driver for CP210x devices, a local unprivileged user can… CWE-369
- CVE-2026-6244 libpcap BPF interpreter for the 'div #k' and 'mod #k' ALU instructions does not check… CWE-369
- CVE-2026-85458 Divide-by-zero in Xpdf 4.06 (and earlier), when a glyph in a Type 3 font has a zero… CWE-369