hxp CTF 2022 hxp


Join us on IRC! Libera Chat | #hxpctf - Stalk us on Twitter @hxpctf


by sisu
pwn zahjebischte

Difficulty estimate: hard - hard

Points: round(1000 ยท min(1, 10 / (9 + [3 solves]))) = 833 points


Want to do some shader programming but GPUs still too expensive? WebGL is fun but Chrome eats all your memory? Graphics APIs still suck?

At HXP, we offer the best abstractions for your needs: shadertoy compute shaders. Just don’t hack our abstractions.

For your convenience:

The challenge relies on a few too many projects, but that’s how software is built.

The challenge is specifically targetting ___ ANGLE and SwiftShader ___. If you find a bug somewhere else in our piece of code, please go ahead and exploit it.

The source files for ‘hxp_gpu’ should not have bugs, but who knows.


  • ’/standalone_build’ This one contains a dockerfile for building the binaries for hosting the challenge. This includes the full ANGLE project and hxp_gpu. The source files for ‘hxp_gpu’ are there. The standalone build will take some time, about 20m-40m on a laptop.

  • ’/example_client’ This provides an example how to communicate with ‘hxp_gpu’. It even provides a compute shader to render an image with high aesthetics!

  • “everything else” This one contains the challenge files without any source code. There should be no reason to reverse the binaries except for what’s necessary for exploitation. The dockerfile inside is for hosting the challenge locally.


shadertoy_plus_plus-6ddecf8e15e0bd7e.tar.xz (6.5 MiB)

Connection (mirrors):

  • nc 8180

Solved by:

# Team Time
shadertoy_plus_plus released 2023-03-10 16:15:46 +0000 UTC
๐Ÿฅ‡ about:blankets 2023-03-11 08:57:28 +0000 UTC
๐Ÿฅˆ copy 2023-03-11 19:12:47 +0000 UTC
๐Ÿฅ‰ Blue Water 2023-03-11 22:15:19 +0000 UTC