Noticed this in working on T427863. The theory was,
Because the evaluator runs untrusted user code, it currently isn't allowed to open network connections to anywhere.
But I caught myself noticing the plan for orchestrator callbacks relied on DNS resolution -- and, even before the work on callbacks, the existing config relied on DNS resolution too. There must be a cluster-wide network policy (? I haven't dug into this yet) allowing port 53.
For a compromised evaluator, this would be an exfil path -- if it resolved exfiltrated-data-here.attacker-controlled-domain.example.com we'd recurse out to the attacker's DNS (and of course a TXT record back through, establishing two-way communications). I did try via getent on an evaluator pod and reached the outside world that way.
I don't have any reason to think this has been abused, but we may want to prevent it. Blocking DNS to the pod entirely would cause a lot of headaches, but maybe we can look into restricting DNS recursion outside our network? I don't know what kind of pod-level policy is supported.