Ellingson write-up by limbernie

Exploits on a setuid executable: 1) reading from file descriptor and 2) leaking libc address

I don’t understand why we are giving the setuid(0) .
For ‘0’ it represents root user i knew it.
But this binary why we are giving setuid() please answer me dude.
I don’t understand.