Apple iTunes before 10.5.1 does not properly verify the authenticity of updates which allows man-in-the-middle attackers to execute arbitrary code via a Trojan horse update as demonstrated by evilgrade and DNS cache poisoning.