Tech●●●●●Difficulty 1 of 5

What is a software vulnerability, and why does every program have some?

Almost every program ever written has bugs, and a few of them are doors someone else can open.

▶ Start the story

A software vulnerability is a bug that happens to be a door. Programs are written by people, and nearly every program contains mistakes where it does not behave the way its authors meant. Most of those mistakes are harmless: a button that draws in the wrong place, a number that rounds badly. A vulnerability is a mistake that lets someone compromise the system: read data they should not see, change data they should not touch, or knock the whole thing offline.

So why does every program have some? Because the bigger and more tangled a system is, the more places a flaw can hide and the more unintended ways in it offers. On top of that, real teams have deadlines. Security experts list rushed delivery, little training in secure coding and sprawling code bases as ordinary ways for vulnerabilities to slip in and go unnoticed. Nobody has to be careless for this to happen; it is simply very hard to be correct everywhere.

A vulnerability has a life. It is born the day the flawed code is written. It becomes dangerous only once that code is actually running somewhere. It is discovered by the vendor, a customer, or an outsider, and ideally fixed with a . Until then, anyone who finds it first has an advantage, which is why announcing a hole can itself briefly raise the risk: attackers read the news too, and not everyone has installed the fix yet.

The life of a vulnerability
  1. Step 1: Introduced

    A flaw is written into the design or code.

  2. Step 2: Active

    It becomes exploitable once the software is running.

  3. Step 3: Discovered

    An administrator, the vendor or an outsider finds it.

  4. Step 4: Disclosed

    Announcing it can briefly raise the risk for unpatched systems.

  5. Step 5: Patched or retired

    It ends when the system is fixed or removed from use.

Defenders cannot reach perfect security, and the experts say so plainly. Instead they try to close the holes they know about, make exploiting the rest harder, and stack several barriers so that one failure is not the end. The rest of this path looks at how real attacks use these flaws, and how people defend against them.

Quiz me

0/3

  1. 1.Why does a vulnerability differ from an ordinary software bug?
  2. 2.Which pair of reasons explains why vulnerabilities keep appearing even in careful teams?
  3. 3.What is the main idea behind defense in depth?

Recap

A vulnerability is a bug that someone can turn into a door, and since no complex system is perfect, defenders plan for holes instead of denying them.

💡 A trick to remember it · Every big house has a window someone forgot to lock: you cannot promise none, so you add fences, cameras and a second door behind the first.

Surprising fact · More than 327,000 vulnerabilities had been logged in the CVE database by April 2026.

Sources (1)

No source, no claim. Every fact in this lesson (12 claims) cites at least one of these.

  1. [1]Vulnerability (computer security) · Wikipedia
More lessons in 💻 Tech (3) See all tech lessons →

One more light on your map.

Get one lesson like this every day, about the things you love. Free, in two or five minutes.

Get the share card for this lesson ↗