PNG Parser Differential

This PNG image renders differently in Apple vs non-Apple decoders:

If you're using Apple-flavoured software, you should see "HELLO APPLE", and on all other software, you should see "HELLO WORLD".

I found this while writing my own multi-threaded PNG decoder. While pondering my design, I realised that I had an exploitable implementation bug. After learning that Apple has their own implementation of parallel-decodable PNGs, I realised that they'd made exactly the same mistake!


I created a tool to merge arbitrary full-colour images. Here is an example: