A partir do código-fonte, parece que o daemon TFTP somente libera privilégios de root após uma conexão ter sido feita.
Editar
No tftpd.c, em certo ponto há um
while (1) {
linha e, na parte inferior do loop, um processo filho é bifurcado:
/*
* Now that we have read the request packet from the UDP
* socket, we fork and go back to listening to the socket.
*/
pid = fork();
if (pid < 0) {
syslog(LOG_ERR, "fork: %m");
exit(EX_OSERR); /* Return to inetd, just in case */
} else if (pid == 0)
break; /* Child exit, parent loop */
}
/* Child process: handle the actual request here */
No código a seguir, em um certo ponto, a chamada setuid
é feita para eliminar privilégios de root