CVE-2020-5991

7.8 HIGH

📋 TL;DR

This vulnerability in NVIDIA's NVJPEG library allows attackers to perform out-of-bounds read/write operations, potentially leading to code execution, denial of service, or information disclosure. It affects all systems using NVIDIA CUDA Toolkit versions prior to 11.1.1. Users processing JPEG images with CUDA-accelerated applications are at risk.

💻 Affected Systems

Products:
  • NVIDIA CUDA Toolkit
Versions: All versions prior to 11.1.1
Operating Systems: Windows, Linux
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems using NVJPEG library for JPEG processing. CUDA installations without NVJPEG usage are not vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete system compromise, data theft, or persistent backdoor installation.

🟠

Likely Case

Application crashes causing denial of service, or information disclosure through memory leaks.

🟢

If Mitigated

Limited impact with proper network segmentation and minimal privilege applications.

🌐 Internet-Facing: MEDIUM - Requires JPEG processing functionality exposed to untrusted inputs.
🏢 Internal Only: MEDIUM - Internal applications processing user-uploaded JPEGs remain vulnerable.

🎯 Exploit Status

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

Exploitation requires specially crafted JPEG images to trigger the out-of-bounds access.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: CUDA Toolkit 11.1.1 or later

Vendor Advisory: https://nvidia.custhelp.com/app/answers/detail/a_id/5094

Restart Required: Yes

Instructions:

1. Download CUDA Toolkit 11.1.1 or later from NVIDIA website. 2. Uninstall previous CUDA versions. 3. Install the updated version. 4. Restart affected systems.

🔧 Temporary Workarounds

Disable NVJPEG usage

all

Configure applications to use CPU-based JPEG processing instead of NVJPEG acceleration

Application-specific configuration required

Input validation

all

Implement strict JPEG validation before processing with NVJPEG library

Implement file validation in application code

🧯 If You Can't Patch

  • Network segmentation to isolate systems using NVJPEG
  • Implement strict access controls and monitor for abnormal JPEG processing behavior

🔍 How to Verify

Check if Vulnerable:

Check CUDA version with 'nvcc --version' or 'nvidia-smi' and verify if below 11.1.1

Check Version:

nvcc --version | grep release

Verify Fix Applied:

Confirm CUDA version is 11.1.1 or higher using version check commands

📡 Detection & Monitoring

Log Indicators:

  • Application crashes during JPEG processing
  • Memory access violation errors in application logs

Network Indicators:

  • Unusual JPEG file uploads to applications using CUDA acceleration

SIEM Query:

source="application.log" AND ("segmentation fault" OR "access violation") AND "jpeg"

🔗 References

📤 Share & Export