LIBPNG هي مكتبة تستخدمها التطبيقات لقراءة ملفات الصور النقطية بتنسيق PNG وإنشائها ومعالجتها. تحتوي الإصدارات من 1.2.1 إلى 1.6.55 على مشكلة حيث تقوم الدالتان `png set tRNS` و`png set PLTE` بتعيين اسم مستعار لمخزن مؤقت مخصص في الذاكرة (heap) بين `png struct` و`png info`، مما يؤدي إلى مشاركة تخصيص واحد بين هيكلين لهما فترات صلاحية مستقلة. وقد كان هذا التداخل موجودًا منذ الإصدار 1.0 على الأقل من libpng بالنسبة لـ `trans alpha`، ومنذ الإصدار 1.2.1 على الأقل بالنسبة لـ `palette`. وعند استدعاء `png free data` مع `PNG FREE TRNS` أو `PNG FREE PLTE`، يتم تحرير المخزن المؤقت عبر `info ptr` بينما يظل المؤشر `png ptr` المقابل معلقًا. قد تقوم دوال تحويل الصفوف اللاحقة بعد ذلك بإلغاء الإشارة إلى هذه الذاكرة المحررة والكتابة إليها. ويكون لاستدعاء `png set tRNS` أو `png set PLTE` للمرة الثانية نفس التأثير، حيث تستدعي هذه الدوال `png free data` داخليًا قبل إعادة تخصيص المخزن المؤقت `info ptr`.