Gallery

Contacts

405 W. Greenlawn Ave Lansing, Michigan 48910

contact@techjacksolutions.com

+1-616-320-4064

2.3 Domain 2 · Threats, Vulnerabilities & Mitigations

Types of Vulnerabilities

Explain the vulnerability families tested on Security+ — application, OS, web, hardware, virtualization, cloud, supply chain, cryptographic, misconfiguration, mobile, and zero-day.

Concept
2
Textbook
3
Reference
4
Real Scenario
5
Hard Choice
6
Common Traps
7
Exam Signal
The Concept

A vulnerability is a weakness an attacker can exploit to violate confidentiality, integrity, or availability. It is not an attack — it is the condition that makes an attack possible. Security+ groups vulnerabilities by where they live (application, OS, web, hardware, virtualization, cloud, supply chain, mobile) and what kind of flaw they are (injection, memory safety, race condition, cryptographic weakness, misconfiguration). Your job on exam day is to read the symptom and name the class.

Three ideas tie the whole objective together. First, a zero-day is unknown to the vendor — it is not the same as an unpatched known CVE. Second, misconfiguration (default creds, open buckets, debug mode in production) is one of the most commonly exploited categories. Third, layer of the stack shapes the mitigation: application flaws need code fixes, OS flaws need patches, cloud flaws need IAM/config discipline, and hardware flaws may only be fixable by replacement.

Application vulnerabilities. Flaws in how code handles input or memory. Key types: memory injection (malicious code written into a running process), buffer overflow (writing past allocated memory, enabling code execution), race conditions (TOCTOU — Time-of-Check to Time-of-Use, where state changes between validation and action), and malicious update (attacker-inserted code delivered via a legitimate update channel). Fix path: secure coding, code review, SAST/DAST.

Operating system vulnerabilities. Kernel flaws, privilege-escalation bugs, local exploits that let a low-privileged user become root/SYSTEM. Patch cadence matters more than any other mitigation here — OS vendors release monthly fixes and attackers weaponize them within days.

Web-based vulnerabilities. The big two: SQL injection (SQLi), where unsanitized input breaks out of query context and runs attacker SQL; and cross-site scripting (XSS), where attacker JavaScript runs in a victim’s browser (reflected, stored, or DOM-based). Fix path: parameterized queries, output encoding, Content Security Policy.

Hardware vulnerabilities. Firmware flaws sit below the OS and are rootkit-friendly. End-of-life (EOL) hardware no longer receives firmware/security updates. Legacy systems are still in production but unsupported — often unpatchable. Fix path: replace, isolate, or wrap with compensating controls.

Virtualization vulnerabilities. VM escape is when a malicious guest breaks out to the hypervisor or another VM — the worst-case multi-tenant failure. Resource reuse is sensitive data left in memory pages or disk blocks reassigned to a different VM. Fix path: hypervisor patching, memory scrubbing, tenant isolation controls.

Cloud-specific vulnerabilities. Misconfigured storage buckets, exposed API keys in public repos, over-permissive IAM, missing MFA on root accounts, insecure APIs, and shared-responsibility misunderstandings (thinking the provider secured something you actually own). Fix path: CSPM tooling, IAM least-privilege, key rotation, baseline configs.

Supply chain vulnerabilities. The flaw is in something you consumed, not something you built. Service provider (SaaS vendor breach cascades to you), hardware provider (implanted or tampered components), software provider (poisoned npm/PyPI packages, compromised updates like the SolarWinds incident). Fix path: vendor assessment, SBOM, update integrity verification.

Cryptographic vulnerabilities. Weak ciphers (DES, RC4), deprecated hashes (MD5, SHA-1), short keys, poor key management, downgrade attacks, lack of Perfect Forward Secrecy. Fix path: enforce modern algorithm suites, deprecate weak ciphers at the protocol level, rotate keys.

Misconfiguration vulnerabilities. Default credentials never changed, unnecessary services enabled, open S3 buckets, permissive firewall rules, missing hardening, debug mode on in production. Not a code flaw — a settings flaw. Fix path: configuration enforcement (baselines, CIS benchmarks, GPOs, IaC).

Mobile device vulnerabilities. Side loading (installing apps outside official stores, higher malware risk) and jailbreaking/rooting (removing OS restrictions, which disables sandboxing and signature verification). Fix path: MDM policy, app allowlists, jailbreak detection.

Zero-day. A vulnerability unknown to the vendor with no patch available. Valuable on criminal and government markets; especially dangerous because signature-based defenses cannot detect what is not yet cataloged. Fix path: defense-in-depth — allow-listing, segmentation, behavioral EDR, least privilege.

Symptom / ScenarioLikely Vulnerability ClassFix Path
Input field dumps database rowsSQL injectionParameterized queries, ORM, input validation
User session hijacked via reflected scriptCross-site scripting (XSS)Output encoding, CSP, HttpOnly cookies
App crashes with memory-address error, then executes attacker payloadBuffer overflowSafe languages, ASLR, DEP, code review
Check passes then state changes before the action runsRace condition (TOCTOU)Atomic operations, file locking, re-check after action
Legitimate vendor update delivers malicious codeMalicious update / supply chainCode signing verification, SBOM, build-pipeline integrity
Guest VM reads host memoryVM escapeHypervisor patching, tenant isolation
Open S3 bucket exposes customer dataMisconfiguration (cloud)CSPM, bucket policies, block-public-access defaults
TLS negotiates down to SSLv3Cryptographic (downgrade)Disable legacy protocols, HSTS, strict cipher suites
IoT device ships with admin:adminMisconfiguration (default credentials)Provisioning workflow, mandatory reset-on-first-use
App installed from third-party store exfiltrates contactsMobile side-loadingMDM allowlist, app-store-only policy
Exploit in the wild, no vendor patch existsZero-dayDefense-in-depth — allow-list, segment, EDR behavioral
Windows Server 2008 still in productionLegacy / EOLIsolate, compensating controls, migration plan
Key Takeaway

Zero-day = unknown to vendor. Unpatched CVE = known but not fixed. If the scenario says “no patch is available because the vendor is not yet aware,” it is a zero-day. If the scenario says “a patch exists but the team hasn’t applied it,” it is an unpatched known vulnerability — operationally a patching problem, not a zero-day problem.

A fintech company investigates a customer report: an attacker transferred money from another user’s account, but logs show the session was authenticated as the attacker and the transfer endpoint returned the expected 200 response. The transfer validated the source account ownership successfully, and the transfer executed milliseconds later. The AppSec Engineer and the DevOps Lead are reading the same evidence and naming different vulnerability classes.

Scenario
The Transfer That Validated and Still Went Wrong
Fintech app · authenticated session · ownership check passed, wrong account debited
DevOps Lead“The attacker probably slipped something malicious into the account-ID field. This looks like an injection — maybe SQLi against the transfer query.”
AppSec Engineer“The ownership check passed and returned the attacker’s own account. Then the transfer ran on a different account ID. That’s not injection — injection would have failed authorization or dumped data. This is TOCTOU: check time-of-check against the attacker’s account, then swap the account parameter at time-of-use.”
DevOps Lead“Could it be a broken auth bug — session reuse?”
AppSec Engineer“Session was valid and tied to the attacker. The timing between validation and action is the tell. Race conditions only show up when the same operation is split across multiple requests or internal steps and the attacker can change state in the gap. Fix is server-side: re-bind the account ID after validation and lock the record for the transaction.”
Compensating Action

Rate-limit and tokenize the transfer flow. Until the race is fixed, add a server-side one-shot transaction token issued at validation time that must be submitted with the action — so the account ID cannot be changed mid-flight. Add alerting for ownership-check-passes-for-A-but-action-runs-on-B patterns in logs.

Real Talk — Career Context

Race conditions are hard to find and harder to reproduce. They do not fail fuzzing, they rarely fail code review, and they hide from most scanners. Teams often find them only after customers complain. On the job, the real value of naming the class correctly is that it drives the right fix. Fixing “injection” would not stop a TOCTOU bug.

On the exam: the word “timing” or “between check and action” or “state changed” is the TOCTOU fingerprint. Do not pick injection just because the flaw involves a parameter; pick injection only when attacker input is directly interpreted as code or query structure.

A manufacturing plant runs a Windows Server 2008 R2 file server that controls part-number metadata for the production line. The OS is past end-of-life and cannot be patched. The vendor application that depends on it is also out of support. Replacing the app requires a six-month OT-coordination project with line downtime. Which is the right short-term vulnerability-management move?

Option A
Isolate via microsegmentation + compensating controls

Place the legacy server on a restricted VLAN, allow only the specific OT protocols from specific hosts, wrap with HIDS and application allow-listing, and log every connection. Begin the migration project in parallel.

Option B
Emergency migrate the app to a supported OS in the next 72 hours

Treat EOL as an immediate blocker. Force the migration now, accept the line downtime, and get off the unsupported stack as fast as possible.

Option A is the stronger short-term fit — isolate plus compensating controls while migration proceeds

Option A: For legacy/EOL systems that cannot be patched, CompTIA frames the correct answer as compensating controls: segmentation, strict allow-listing of network paths, host-based monitoring, and logging. This reduces risk to acceptable levels while the long migration runs. It also keeps the business running, which vulnerability management always has to respect.

Option B’s kernel of truth: eventually you must migrate — EOL systems cannot be an indefinite state. But forcing a 72-hour migration on a production OT system without a tested cutover plan risks a far worse outage than the vulnerability itself. “Replace it today” is not realistic for every legacy system, and the exam rewards the compensating-controls answer for the short term.

On the exam: when the system “cannot be patched” and replacement takes time, the correct answer is almost always isolation + compensating controls + monitoring, paired with a migration plan.

Zero-day = “really bad unpatched CVE”
A zero-day is unknown to the vendor — no CVE ID at the time of exploitation, no patch possible yet. An unpatched CVE is a known flaw with a published fix the team has not yet applied. The exam tests this distinction directly: if the scenario mentions a CVE number or an available patch, it is not a zero-day.
Why it is tempting: both feel “unpatched and dangerous,” so the words blur together.
Race condition confused with missing input validation
A race condition’s defining feature is timing — state changes between validation and action. If the scenario talks about a value changing, a check passing then being bypassed, or TOCTOU language, pick race condition. If it talks about attacker-controlled data being interpreted as code or SQL, pick injection.
Why it is tempting: both can involve a parameter the attacker controls.
Misconfiguration framed as “vulnerability in the software”
Default credentials, open buckets, debug mode in production — these are misconfigurations, not software bugs. The software works exactly as designed; it was deployed wrong. Fix path is configuration enforcement (baselines, GPOs, IaC), not a code patch. The exam commonly gives you a default-credentials scenario and offers “software vulnerability” as a distractor.
Why it is tempting: any exploitable weakness feels like a software bug.
VM escape = “someone broke into the VM”
VM escape is the opposite direction — from inside a guest VM out to the hypervisor or another tenant. Breaking into a VM is just normal compromise. The exam uses the phrase “guest broke out of its VM” or “malicious tenant accessed the host.” Resource reuse is related but different — that is data left in memory or storage reassigned to another tenant.
Why it is tempting: “escape” could mean either direction in plain English.
Supply chain = “we were hacked via our vendor”
Supply chain is broader: a hardware implant from a component maker, a poisoned software dependency (malicious npm or PyPI package), and a service-provider breach that cascades to customers are all supply-chain vulnerabilities. SBOM and code-signing verification are the mitigation tells, not just vendor access review.
Why it is tempting: “supply chain” sounds like vendor management only.
Exam Signal

Vulnerability questions describe a symptom and ask for the class. Read for: (1) where the flaw lives (code, config, hardware, hypervisor, cloud, mobile), (2) what the attacker did (inject input, race timing, break out of a VM, exploit default creds), and (3) whether the vendor has a patch (known CVE vs. zero-day). If the fix path is “change a setting,” it is misconfiguration; if the fix path is “update the vendor software,” it is a software vulnerability.

Quick Check — 2.3 Q1
A security researcher privately reports a critical flaw in a widely used SSL/TLS library. The vendor has no prior knowledge of the flaw, no patch exists, and exploitation in the wild has been observed. Which term BEST describes this vulnerability?
  • A Unpatched CVE
  • B Zero-day vulnerability
  • C Cryptographic downgrade
  • D Misconfiguration

Correct: B. The vendor has no prior knowledge and no patch exists — that is the definition of a zero-day. Active exploitation increases urgency but does not change the category.

A wrong: An unpatched CVE presupposes the CVE exists; this scenario says the vendor had no prior knowledge, so there is no published CVE yet.

C wrong: Downgrade is a specific cryptographic attack pattern, not the category for an unknown library flaw.

D wrong: Misconfiguration is about deployment settings, not a code flaw in a library.

Source: CompTIA SY0-701 Objectives v5.0 — 2.3 Types of Vulnerabilities

Quick Check — 2.3 Q2
A web application takes a user-supplied search term and interpolates it directly into a database query. An attacker submits ' OR 1=1 -- and retrieves every row in the users table. Which vulnerability class is this?
  • A SQL injection
  • B Cross-site scripting (XSS)
  • C Buffer overflow
  • D Race condition (TOCTOU)

Correct: A. Unsanitized input breaks out of the intended query context and is interpreted as SQL. The ' OR 1=1 -- pattern is the classic SQLi fingerprint.

B wrong: XSS executes attacker JavaScript in a victim’s browser, not SQL against the database.

C wrong: Buffer overflow involves writing past allocated memory, usually in compiled languages, and leads to memory-corruption symptoms, not query-result leaks.

D wrong: Race conditions turn on timing between check and action, not on interpreted input.

Source: CompTIA SY0-701 Objectives v5.0 — 2.3 Types of Vulnerabilities

Quick Check — 2.3 Q3
A developer discovers that a popular open-source dependency in the company’s Node.js project has been updated to include obfuscated code that exfiltrates environment variables on install. The package maintainer’s credentials were stolen. Which vulnerability class BEST describes this?
  • A Memory injection
  • B Cloud misconfiguration
  • C Supply chain (software provider)
  • D Mobile side-loading

Correct: C. A poisoned third-party dependency delivered through a legitimate package ecosystem is the textbook software supply-chain vulnerability. SBOM tracking and dependency integrity verification are the mitigations.

A wrong: Memory injection is a process-runtime attack, not a dependency-chain attack.

B wrong: The flaw is in a consumed package, not in the cloud account’s configuration.

D wrong: Side-loading is installing mobile apps outside official app stores.

Source: CompTIA SY0-701 Objectives v5.0 — 2.3 Types of Vulnerabilities

Disclaimer: This content is provided for educational and exam preparation purposes only. It is not official CompTIA content, is not endorsed by CompTIA, and does not guarantee exam success. All practice questions are original and based on the published CompTIA SY0-701 Exam Objectives (v5.0). Always refer to the official CompTIA Security+ Exam Objectives as your primary reference.