CVE-2023-50671
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 11, 2024
CISA due date
—
Cloudanix analysis
A flaw in a small image tag reading tool can let attackers run their own code if someone opens a specially made picture file.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Patch
- Effort
- Medium
- Patch risk
- Low
What it actually does
Heap-based buffer overflow via uncontrolled snprintf write of 28 bytes in nikon_prop1 during EXIF tag parsing, enabling memory corruption and potential arbitrary code execution.
Why it matters to the business
Attackers can execute code on systems that parse untrusted image files containing Nikon EXIF data, leading to potential compromise of user workstations or servers that process such media.
How an attack unfolds
An attacker creates a crafted image file embedding malicious Nikon EXIF metadata designed to trigger the snprintf overflow; when a victim processes the file with an affected exiftags binary or library, the overflow occurs during nikon_prop1 parsing and can be leveraged for code execution.
How to fix it
Upgrade to a patched version of exiftags that corrects the snprintf usage in nikon.c; if no official update exists, replace the library with a maintained alternative or remove Nikon-specific parsing functionality.
How to confirm the fix worked
Rebuild exiftags with address sanitizer or similar memory safety tooling and re-test against the original proof-of-concept input; confirm absence of the 28-byte write outside allocated bounds.
Typical attack path
- Craft malicious image containing oversized or malformed Nikon EXIF tags
- Deliver image to target via email, web, or file share
- Victim opens or processes the image with a tool linked to exiftags
- nikon_prop1 performs snprintf write beyond intended buffer
- Attacker-controlled data overwrites heap structures to achieve code execution
How to detect it
Search process execution logs and file access records for invocations of exiftags binaries against files with Nikon maker notes; examine crash dumps or heap logs for abnormal writes originating from nikon_prop1.
What your security team should do
- Inventory all systems and applications that invoke exiftags or ship it as a dependency
- Block or sandbox processing of untrusted image files on high-risk endpoints until remediation is applied
- Monitor upstream for any community or vendor patches addressing the nikon.c buffer handling
The record
In exiftags 1.01, nikon_prop1 in nikon.c has a heap-based buffer overflow (write of size 28) because snprintf can write to an unexpected address.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | exiftags | 0 | No fix |
| Debian:12 | exiftags | 0 | No fix |
| Debian:13 | exiftags | 0 | No fix |
| Ubuntu:16.04:LTS | exiftags | 0 | No fix |
| Ubuntu:18.04:LTS | exiftags | 0 | No fix |
| Ubuntu:20.04:LTS | exiftags | 0 | No fix |
| Ubuntu:22.04:LTS | exiftags | 0 | No fix |
| Ubuntu:24.04:LTS | exiftags | 0 | No fix |
| Ubuntu:24.10 | exiftags | 0 | No fix |
| Ubuntu:25.04 | exiftags | 0 | No fix |
| Ubuntu:25.10 | exiftags | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | exiftags | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | exiftags | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | exiftags | 0 | No fix |
Related vulnerabilities
- CVE-2024-42851 Buffer Overflow vulnerability in open source exiftags v.1.01 allows a local attacker to… Also affects exiftags
- CVE-2026-111497 A buffer overflow vulnerability in the Brotli decoder (c/dec/decode.c) in Google Brotli… CWE-787
- CVE-2026-112397 Pillow is a Python imaging library. CWE-787
- CVE-2026-112059 libLAS through 1.8.1 contains a heap out-of-bounds write vulnerability in the point… CWE-787
- CVE-2026-89088 A flaw was found in parted. CWE-787
- CVE-2026-89085 A flaw was found in parted. CWE-787
- CVE-2026-85746 MariaDB server is a community developed fork of MySQL server. CWE-787
- CVE-2026-107815 MariaDB server is a community developed fork of MySQL server. CWE-787