CVE-2023-51107

7.5 HIGH

📋 TL;DR

A floating point exception (divide-by-zero) vulnerability exists in Artifex MuPDF's compute_color() function. This could allow attackers to crash the application or potentially execute arbitrary code by triggering the exception. The vulnerability is disputed by the supplier, but users of affected MuPDF versions should assess their risk.

💻 Affected Systems

Products:
  • Artifex MuPDF
Versions: 1.23.4 (specifically mentioned, earlier versions may also be affected)
Operating Systems: All platforms running MuPDF
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability is disputed by the supplier. The exact conditions to trigger the issue are unclear from available information.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete system compromise if the divide-by-zero can be leveraged for memory corruption.

🟠

Likely Case

Application crash (denial of service) when processing malicious PDF files.

🟢

If Mitigated

Minimal impact if application runs with limited privileges and proper sandboxing.

🌐 Internet-Facing: MEDIUM - PDF processing applications exposed to user uploads could be targeted.
🏢 Internal Only: LOW - Primarily affects users opening malicious PDFs, less likely in controlled environments.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: HIGH

No public exploit available. Exploitation would require crafting a malicious PDF file that triggers the specific divide-by-zero condition.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: None available (disputed vulnerability)

Restart Required: No

Instructions:

No official patch available. Consider upgrading to latest MuPDF version and monitoring for security updates.

🔧 Temporary Workarounds

Restrict PDF Processing

all

Limit PDF processing to trusted sources and implement file validation.

Run with Reduced Privileges

all

Execute MuPDF with minimal system privileges to limit potential damage.

🧯 If You Can't Patch

  • Implement strict input validation for PDF files before processing
  • Use application sandboxing or containerization to isolate MuPDF processes

🔍 How to Verify

Check if Vulnerable:

Check MuPDF version: mupdf --version. If version is 1.23.4 or potentially earlier, assume vulnerability.

Check Version:

mupdf --version

Verify Fix Applied:

Upgrade to a version after 1.23.4 and verify no crashes occur with test PDFs.

📡 Detection & Monitoring

Log Indicators:

  • Application crashes with floating point exceptions
  • Unexpected termination of MuPDF processes

Network Indicators:

  • Unusual PDF file uploads to systems using MuPDF

SIEM Query:

Process:Name='mupdf' AND EventID=1000 (Application Error)

🔗 References

📤 Share & Export