Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/kagancapar/cve-2026-5201
मेमोरी फोरेंसिकभेद्यता विश्लेषणशोषणबाइनरी विश्लेषणपेपर और शोधलर्निंग और शिक्षा
GitHubkagancapar/cve-2026-5201

CVE-2026-5201

CVE-2026-5201: gdk-pixbuf JPEG लोडर में हीप-आधारित बफर ओवरफ्लो (CWE-122, CVSS 7.5)

रिपॉजिटरी देखें
134151 महीना पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2026-5201

gdk-pixbuf JPEG लोडर में हीप-आधारित बफर अतिप्रवाह

नमस्ते, मैं Kağan Çapar हूँ। मैंने gdk-pixbuf के JPEG छवि लोडर में एक हीप-आधारित बफर अतिप्रवाह भेद्यता की खोज की है जो व्यावहारिक रूप से सभी लिनक्स डेस्कटॉप वातावरणों को प्रभावित करती है। इस भेद्यता को CVE-2026-5201 निर्दिष्ट किया गया और Red Hat द्वारा 7.5 (महत्वपूर्ण) के CVSS स्कोर के साथ स्वीकार किया गया।

इस रिपॉजिटरी में मेरा पूर्ण विश्लेषण, मेरे द्वारा शुरू से लिखा गया एक पुनरुत्पादक, और एक लाइव Ubuntu 24.04 LTS सिस्टम से क्रैश साक्ष्य शामिल है।

CVECVE-2026-5201
CWECWE-122 — हीप-आधारित बफर अतिप्रवाह
CVSS v37.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
प्रभावितgdk-pixbuf (सुधार से पहले के सभी संस्करण)
विक्रेताGNOME
सुधारgdk-pixbuf@6cce931
ट्रैकरGNOME #304
BugzillaRed Hat #2453291

सारांश

मैंने gdk-pixbuf के JPEG छवि लोडर (io-jpeg.c) में एक हीप-आधारित बफर अतिप्रवाह पाया। प्रत्यक्ष फ़ाइल लोडिंग पथ (gdk_pixbuf__jpeg_image_load) पिक्सेल बफर आवंटित करने से पहले रंग घटकों की संख्या को मान्य नहीं करता है। SOF हेडर में 9 घटकों के साथ एक विशेष रूप से तैयार किया गया 122-बाइट JPEG परंतु SOS में केवल 3 स्कैन किए गए, जिससे gdk-pixbuf 3 चैनलों के लिए एक बफर आवंटित करता है जबकि libjpeg प्रति पिक्सेल 9 चैनल लिखता है — जिसके परिणामस्वरूप ~49 KB तक के हमलावर-नियंत्रित डेटा का हीप अतिप्रवाह होता है।

इंक्रीमेंटल लोडर पथ में पहले से ही यह सटीक मान्यता थी, लेकिन यह प्रत्यक्ष लोडिंग पथ से गायब थी।

प्रभाव

  • सेवा अस्वीकार (Denial of Service): gdk_pixbuf_new_from_file() का उपयोग करने वाले किसी भी अनुप्रयोग पर 100% विश्वसनीय क्रैश
  • हीप भ्रष्टाचार: GObject vtable पॉइंटर (g_class) पिक्सेल डेटा से अधिलेखित
  • कोड निष्पादन: 32-बिट लिनक्स पर vtable हाईजैक के माध्यम से प्रदर्शित
  • प्रभावित सिस्टम: सभी लिनक्स डेस्कटॉप — Ubuntu, Fedora, Debian, Arch, RHEL 7–10

प्रभावित Red Hat उत्पाद

मूल कारण

gdk-pixbuf/io-jpeg.c में, फ़ंक्शन gdk_pixbuf__jpeg_image_load():

1. कम आकार का आवंटन (पंक्ति 633):

root@kitploit:~
pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB,
                        cinfo->out_color_components == 4 ? TRUE : FALSE,
                        8, cinfo->output_width, cinfo->output_height);

2. अधिक आकार की लिखाई (पंक्ति 696):

root@kitploit:~
jpeg_read_scanlines(cinfo, lines, cinfo->rec_outbuf_height);
// प्रति पिक्सेल output_components (9) बाइट्स को 3-बाइट बफर में लिखता है

3. मान्यता का अभाव — इंक्रीमेंटल लोडर पहले से पंक्ति 1142 पर output_components की जाँच करता है, लेकिन यह जाँच प्रत्यक्ष पथ से अनुपस्थित थी।

पुनरुत्पादन

पुनरुत्पादक जनरेट करें

root@kitploit:~
python3 reproducer/craft_cve_2026_5201.py

यह SOF10 हेडर में 9 घटकों और SOS में केवल 3 स्कैन किए गए एक 122-बाइट JPEG फ़ाइल बनाता है।

क्रैश ट्रिगर करें

root@kitploit:~
# संकलन
gcc -o crash_test reproducer/crash_test.c \
    $(pkg-config --cflags --libs gdk-pixbuf-2.0) -fsanitize=address -g

# चलाएं
./crash_test cve_2026_5201.jpg

अपेक्षित आउटपुट (AddressSanitizer)

root@kitploit:~
==PID==ERROR: AddressSanitizer: SEGV on unknown address 0x52b000020006
==PID==The signal is caused by a WRITE memory access.
    #0  libjpeg.so.8  (null_convert)
    #1  libjpeg.so.8  (sep_upsample)
    #2  libjpeg.so.8  (process_data_context_main)
    #3  libjpeg.so.8  jpeg_read_scanlines
    #4  libgdk_pixbuf-2.0.so.0  (JPEG loader)
    #5  libgdk_pixbuf-2.0.so.0  gdk_pixbuf_new_from_file

GDB आउटपुट (ASAN के बिना)

root@kitploit:~
Program received signal SIGSEGV, Segmentation fault.
g_type_check_instance_is_fundamentally_a ()
  → g_object_unref()
  → gdk_pixbuf_new_from_file()

rax = 0x808080808080ffff    ← दूषित GObject vtable पॉइंटर

सुधार

सुधार में वही output_components मान्यता जोड़ी गई है जो पहले से इंक्रीमेंटल लोडर में मौजूद है:

root@kitploit:~
jpeg_start_decompress(cinfo);

if (cinfo->output_components != 3 && cinfo->output_components != 4 &&
    !(cinfo->output_components == 1 &&
      cinfo->out_color_space == JCS_GRAYSCALE)) {
    g_set_error(error, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
                "Unsupported number of color components (%d)",
                cinfo->output_components);
    goto out;
}

gdk-pixbuf@6cce931 में लागू किया गया।

परीक्षण किया गया वातावरण

OSUbuntu 24.04.1 LTS
gdk-pixbuf2.42.10+dfsg-3ubuntu3.2
libjpeglibjpeg-turbo 2.1.5 (libjpeg.so.8.2.2)
GCC13.3.0

संदर्भ

  • https://www.cve.org/CVERecord?id=CVE-2026-5201
  • https://nvd.nist.gov/vuln/detail/CVE-2026-5201
  • https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/304
  • https://access.redhat.com/security/cve/CVE-2026-5201
  • https://bugzilla.redhat.com/show_bug.cgi?id=2453291

ऐतिहासिक मिसाल

CVE-2017-2862 (Cisco Talos TALOS-2017-0366) — CVSS 8.8 — gdk-pixbuf में वही null_convert बफर बेमेल बग वर्ग, जिसे दूरस्थ कोड निष्पादन के रूप में वर्गीकृत किया गया।

श्रेय

Kağan Çapar — GitHub · LinkedIn · X

Red Hat द्वारा CVE-2026-5201 सलाहकार में स्वीकार किया गया।

टूल डाउनलोड करें
उत्पादघटकस्थिति
Red Hat Enterprise Linux 10gdk-pixbuf2प्रभावित
Red Hat Enterprise Linux 10loupeप्रभावित
Red Hat Enterprise Linux 10snapshotप्रभावित
Red Hat Enterprise Linux 9gdk-pixbuf2प्रभावित
Red Hat Enterprise Linux 8gdk-pixbuf2प्रभावित
Red Hat Enterprise Linux 7gdk-pixbuf2प्रभावित