Błędy tego typu mogą zostać w pewnych sytuacjach pośrednio wykorzystane bez zastosowania dyrektywy %n. Użycie dyrektywy %s może doprowadzić do ujawnienia zawartości pamięci procesu uprzywilejowanego, w tym np. haseł; w innym scenariuszu możliwe jest doprowadzenie do skopiowania do bufora (np. funkcją sprintf()) większej ilości danych niż przewidział programista.
Najpopularniejsze z podatnych na atak funkcje i rodziny funkcji: printf() syslog() err() warn() setproctitle()
Obrona Sposób obrony przed tego typu atakiem jest bardzo prosty. W tworzonym kodzie należy unikać przekazywania ciągów formatujących, dostarczonych przez użytkownika, do funkcji wykorzystujących ciągi formatujące (np. printf()) oraz takich, które tego typu funkcje wewnętrznie wykorzystują (np. syslog()). W ogólnym przypadku sprowadza się to zamiany wywołań typu: printf(string); na printf("%s", string);