WCU / Cybersecurity
~/CSC 472/Class 06/KP 03
Class 06 · KP 03 / 18

How Common Was It?

  • Extremely common in late-1990s / early-2000s C code.
  • Any function taking a format: printf, fprintf, sprintf, snprintf, syslog, err/warn, vprintf, scanf (%n on writes).
  • Classic real bugs: wu-ftpd, proftpd, screen, and many syslog(msg) calls where msg was attacker-controlled.
  • Still appears today whenever a logging or error path forwards user text straight into a format parameter.
Key Takeaway

The pattern to hunt for is any printf-family call whose format argument is not a string literal.