This course will provide a background in several coding vulnerabilities: race conditions, format strings, and command injections. The first module discusses how the advent of parallel processing has made computers more efficient but also created new classes of vulnerabilities. We introduce the theory and practice of race condition vulnerabilities by describing what makes a code vulnerable, how it can be exploited and ways to mitigate the vulnerability. The second module introduces format string vulnerabilities, which use a deceptively simple aspect of programming: print statements. By exploiting format string vulnerabilities, an attacker can read from or write to arbitrary memory within a program. This module shows how to identify format string vulnerabilities and how to write code that is not vulnerable to attack. The last module in the course introduces command injection vulnerabilities, which take advantage of the fact that instructions and data are often mixed within programs. We demonstrate how command injection vulnerabilities can be exploited by an attacker, what to look out for and how to write code that is immune to this type of attack.

Race conditions, format strings, and command injections
Build in-demand skills with a full year of Coursera Plus, now $239. Save now.

Race conditions, format strings, and command injections
This course is part of Secure Coding Fundamentals Specialization

Instructor: Howard Poston
Included with Learn more
Gain insight into a topic and learn the fundamentals.
Beginner level
Recommended experience
4 hours to complete
Flexible schedule
Learn at your own pace
Details to know

Shareable certificate
Add to your LinkedIn profile
Recently updated!
November 2026
Assessments
3 assignments
Taught in English
See how employees at top companies are mastering in-demand skills

Build your subject-matter expertise
This course is part of the Secure Coding Fundamentals Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate

There are 3 modules in this course
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructor

Offered by
Explore more from Computer Security and Networks
Why people choose Coursera for their career

Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."

Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."

Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."

Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."








