← ACARA Digital Technologies Years 9–10

Zero-day vulnerabilities

A zero-day is a software flaw that attackers know about before the maker has released a fix, so there is no patch yet. Defenders use workarounds and monitoring until one arrives.

Understanding Zero-day vulnerabilities in ACARA Digital Technologies Years 9–10

What it does: Switching off the vulnerable feature is a workaround that reduces risk until the maker releases a real fix. Monitoring helps defenders spot an attack early when they cannot yet patch the flaw. The 'zero' refers to the zero days the software maker has had to prepare a fix. Attackers get a head start. Updates only fix flaws the maker already knows about. Until a patch exists, even fully updated software can be attacked. After the patch is out, the flaw is public. Attackers rush to use it, so patching quickly is important. Because there is no patch and often no antivirus signature, a zero-day can get past many defences.

Common mistakes: A zero-day has no patch yet, so patched must be False. If it were True, the flaw would not be a zero-day. A workaround is needed when there is no patch. The test should be 'patch is None', not 'is not None'.

Class: _____________________  ·  Name: _____________________  ·  Date: _________

Free printable worksheet with full answer key — or add this module to a class and your students practise it interactively.

This module's key terms are also in a printable crossword (Modules 810–827) and word search (Modules 810–859).

Take this worksheet further — free with Cloodit

Each concept is reinforced from every angle — learned, then applied, then tested.

Learning
Duo
What makes a vulnerability a zero-day?
It was found on the first day of the yearAttackers know about it before a fix has been released
Matches
Update to the latest version and the zero-day is fixed straight away
↓
With a zero-day there is no patch yet, so updating cannot fix it until the maker releases one. Use workarounds and monitoring in the meantime.
Applying
Meanings
Term
zero-day
Meaning
A zero-day is a software flaw that attackers know about before the maker has released a fix, so there is no patch yet. Defenders use workarounds and monitoring until one arrives.
Practice
IF patchAvailable = FALSE THEN
Testing
Gaps
patchAvailable =
Check Answer
Spots
1known = True
2patched = True

Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.

The 'Scorpion' badge — Venom Debugger, one of Cloodit's 106 collectible badges
Students earn collectable badges

Over 100 of them, across seven natural biomes.

Study Buddy
Students build a real study resource

Turns their work into revision material ready for Flash Cards and Exam study.

Diamond Dash — one of Cloodit's live, competitive Sprint games
Students lock in with Sprints

Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.

A Cloodit certificate of achievement, ready to personalise and print
Custom printable certificates

Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.

Quick Questions

1. What makes a vulnerability a zero-day?
A. It was found on the first day of the year
B. Attackers know about it before a fix has been released ✓
The 'zero' refers to the zero days the software maker has had to prepare a fix. Attackers get a head start.
2. A zero-day has just been found being used in attacks. What does the software maker have available?
A. No patch yet ✓
B. A patch that users just need to install
By definition a zero-day has no official patch when it is discovered, so installing updates cannot fix it yet.
3. Which statement about zero-days is true?
A. Keeping software fully up to date does not stop a zero-day attack ✓
B. Installing every update makes you immune to zero-days
Updates only fix flaws the maker already knows about. Until a patch exists, even fully updated software can be attacked.
4. The maker has not released a patch for a flaw. Which is a sensible workaround?
A. Turn off the affected feature until a fix arrives ✓
B. Keep using the feature exactly as before and ignore the warning
A workaround reduces risk without a patch. Disabling the risky feature removes the way in for the attacker.
5. Which is an example of monitoring while waiting for a patch?
A. Deleting all the logs to free up space
B. Checking logs for unusual activity on the affected system ✓
Monitoring helps you spot an attack early. Logs are a key source of evidence, so deleting them removes your view.

Match the Pairs

zero-day → A flaw that attackers know about before the software maker has released a fix
patch_available = False → There is no fix yet, which is the key sign of a zero-day
While there is no patch yet, defenders can use a workaround such as turning off the risky feature → disable_feature("risky_plugin")
Monitoring means watching logs for signs that a zero-day is being used against you → watch_logs(alert_on="odd_activity")
Update to the latest version and the zero-day is fixed straight away → With a zero-day there is no patch yet, so updating cannot fix it until the maker releases one. Use workarounds and monitoring in the meantime.
A zero-day is any flaw that was fixed years ago → A zero-day is a flaw attackers know about before the maker has released a fix. A flaw fixed years ago is a known, patched vulnerability.

Key Term

zero-day
A zero-day is a software flaw that attackers know about before the maker has released a fix, so there is no patch yet. Defenders use workarounds and monitoring until one arrives.

Fill in the Blanks

1. patchAvailable = False
Hint: Type the Boolean value that shows a zero-day has no fix released yet.
2. if attackerKnows and not makerKnows: print("Zero-day")
Hint: Type the logical operator that needs both conditions to be true for a zero-day.
3. patchAvailable = False if not patchAvailable: workaround = True
Hint: Type the logical operator that flips False to True so the workaround switches on while there is no patch.
4. if patchAvailable == False: workaround = True
Hint: Type the operator that compares two values to check whether the patch is still missing.
5. for entry in log: if entry == "odd login": alert()
Hint: Type the keyword that repeats a check on every log entry for monitoring.

Spot the Error

Question 1
A known = True
B patched = True
C if known and not patched:
D print("Zero-day")
Line B — A zero-day has no patch yet, so patched must be False. If it were True, the flaw would not be a zero-day.
Question 2
A status = "zero-day"
B patch = None
C if patch is not None:
D print("Use a workaround")
Line C — A workaround is needed when there is no patch. The test should be 'patch is None', not 'is not None'.
Question 3
A def is_zero_day(patched):
B return patched
C print(is_zero_day(False))
Line B — A flaw is a zero-day while it is NOT patched. The function should return 'not patched'.
Question 4
A alerts = 0
B for event in log
C if "exploit" in event:
D alerts += 1
Line B — A for loop line must end with a colon. It should be 'for event in log:'.
Question 5
A workaround = disable feature
B print("Apply", workaround)
C print("Then monitor logs")
Line A — Text must be in quotes. Without them Python sees names, not a string. It should be workaround = "disable feature".

Student with a class code? Join your class →