New 'Trojan Source' Method Lets Attackers Hide Vulns in Source Code

Researchers discover a new technique attackers could use to encode vulnerabilities into software while evading detection.

Dark Reading Staff, Dark Reading

November 1, 2021

1 Min Read

Security researchers have discovered a new technique to inject malware into source code while remaining invisible to human reviewers.

The Cambridge University researchers who shared the "Trojan Source" method say the attack "exploits subtleties in text-encoding standards such as Unicode to produce source code whose tokens are logically encoded in a different order from the one in which they are displayed, leading to vulnerabilities that cannot be perceived directly by human code reviewers."

This tactic manipulates the encoding of source code files so compilers and human viewers see different logic, as discovered by Nicholas Boucher and Ross Anderson, the latter explained in a blog post.

One attack, tracked as CVE-2021-42574, uses Unicode directionality override characters to show code as an anagram of its true logic. This attack works against C, C++, C#, JavaScript, Java, Rust, Go, and Python; the researchers believe it will work against most other modern languages as well. A related attack using visually similar characters is tracked as CVE-2021-42694.

The team made responsible disclosure to all companies and organizations whose products they found to have vulnerabilities.

Read more details here.

About the Author(s)

Dark Reading Staff

Dark Reading

Dark Reading is a leading cybersecurity media site.

Keep up with the latest cybersecurity threats, newly discovered vulnerabilities, data breach information, and emerging trends. Delivered daily or weekly right to your email inbox.

You May Also Like

More Insights