1. Vulnerability management process

Vulnerability management means continuously finding, prioritizing, fixing, and verifying security weaknesses before attackers exploit them.

A vulnerability is a weakness such as:

Weak password
Missing patch
Open port
SQL injection
Old library version
Wrong cloud permission
No MFA

A good vulnerability management process looks like this:

1. Identify assets
2. Scan for vulnerabilities
3. Assess risk
4. Prioritize
5. Remediate
6. Verify fix
7. Report and improve

Step 1: Identify assets

First, know what you have.

Examples:

Servers
Laptops
Databases
APIs
Cloud accounts
Docker containers
Network devices
Applications
Source code repositories

You cannot protect systems that you do not know exist.

Step 2: Scan for vulnerabilities

Use tools to find weaknesses.

Examples:

Nessus
Qualys
OpenVAS / Greenbone
Microsoft Defender Vulnerability Management
Snyk
Trivy
OWASP ZAP

For your .NET + React + SQL Server application, you may scan:

NuGet packages
npm packages
Docker images
Linux server patches
API security
SQL Server configuration

Step 3: Assess risk

Not all vulnerabilities are equal.

Example:

Critical remote code execution on internet-facing API = high risk
Low severity issue on internal test machine = lower risk

Risk depends on:

Severity
Exploit available or not
Internet-facing or internal
Business importance
Data sensitivity
Existing controls

Step 4: Prioritize

Fix the most dangerous issues first.

Common priority order:

1. Actively exploited vulnerabilities
2. Critical vulnerabilities on public systems
3. High vulnerabilities with known exploit
4. Vulnerabilities affecting sensitive data
5. Medium and low vulnerabilities

Step 5: Remediate

Remediation means fixing the problem.

Examples:

Install patch
Upgrade library
Close unused port
Enable MFA
Change weak password
Fix code bug
Harden server configuration
Remove unused service

Step 6: Verify

After fixing, scan again.

Example:

Before patch:
OpenSSL vulnerable version found

After patch:
Scanner confirms vulnerability is removed

Step 7: Report

Security teams usually report:

Number of critical vulnerabilities
Number fixed
Number pending
Average time to fix
Systems at highest risk
Exceptions accepted by management

The CVE Program’s mission is to identify, define, and catalog publicly disclosed cybersecurity vulnerabilities, and NIST defines attack surface as the points where an attacker can try to enter, affect, or extract data from a system.


2. Defense in depth model

Defense in depth means using multiple layers of security.

Do not depend on only one control.

Example:

If password is stolen, MFA protects account.
If attacker bypasses login, authorization protects API.
If API is attacked, input validation protects database.
If database is reached, encryption protects data.
If data is damaged, backup helps recovery.

Simple example: house security

You do not use only one lock.

You may use:

Gate
Door lock
Alarm
Camera
Safe locker
Insurance

Cybersecurity is similar.

Defense in depth layers

LayerExample controls
Physical securityOffice access card, CCTV
Network securityFirewall, VPN, network segmentation
Identity securityMFA, strong password, least privilege
Endpoint securityAntivirus, EDR, patching
Application securityInput validation, secure coding, API authorization
Data securityEncryption, backup, access control
MonitoringSIEM, logs, alerts
RecoveryBackup, disaster recovery plan

Example for ASP.NET Core Web API

Layer 1: HTTPS
Layer 2: JWT authentication
Layer 3: Role-based authorization
Layer 4: Input validation
Layer 5: SQL parameterized queries / EF Core
Layer 6: Database access control
Layer 7: Logging and monitoring
Layer 8: Backup and restore

This is defense in depth.


3. CVE list

CVE means Common Vulnerabilities and Exposures.

A CVE list is a public catalog of known cybersecurity vulnerabilities.

Example CVE format:

CVE-2024-3094
CVE-2021-44228
CVE-2017-0144

What a CVE contains

A CVE record usually describes:

CVE ID
Affected product
Vulnerability description
References
Published date
Updated date
Severity information from related sources

Example:

CVE-2021-44228
Product: Apache Log4j
Issue: Remote code execution vulnerability
Common name: Log4Shell

The CVE Program says each vulnerability has one CVE Record, and the catalog is used to communicate consistent descriptions of publicly disclosed vulnerabilities.

CVE vs CVSS

Do not confuse CVE and CVSS.

TermMeaning
CVEVulnerability ID/name
CVSSSeverity score
CWEType/category of weakness
KEVKnown exploited vulnerability list

Example:

CVE = CVE-2021-44228
CVSS = 10.0 Critical
CWE = Improper input validation
KEV = Known exploited in real attacks

How CVE is used in vulnerability management

Example:

Scanner finds:
CVE-2023-XXXXX in OpenSSL

Security team checks:
Is it critical?
Is exploit available?
Is server internet-facing?
Is patch available?

Then:
Patch OpenSSL
Restart service
Scan again
Close ticket

4. Attack surface

Attack surface means all possible places where an attacker can try to enter, attack, or extract data.

NIST defines attack surface as the set of points where an attacker can try to enter, cause an effect, or extract data from a system.

Examples of attack surface

For a web application:

Login page
REST API endpoints
Admin panel
Database port
File upload page
Open SSH port
Docker socket
Cloud storage bucket
Public IP address
Third-party libraries
Employees receiving emails

Small attack surface vs large attack surface

Small attack surface:

Only required ports open
MFA enabled
Few public APIs
No unused services
Proper firewall rules

Large attack surface:

Many open ports
Old applications
Unused services running
Weak passwords
Public admin panel
Many third-party plugins
Exposed cloud storage

Attack surface reduction

Attack surface reduction means reducing opportunities for attack.

Examples:

Close unused ports
Disable unused services
Remove old software
Use private network for database
Limit admin access
Use VPN or zero trust access
Apply least privilege
Patch systems
Restrict file uploads

5. Common attack vector

An attack vector is the path or method used by an attacker to attack a system.

Simple meaning:

Attack vector = how attacker enters

Common attack vectors

Attack vectorSimple meaning
PhishingFake email/message tricks user
Stolen credentialsAttacker uses leaked username/password
Unpatched softwareAttacker exploits old vulnerable software
MalwareMalicious software infects system
RansomwareData is encrypted and ransom is demanded
SQL injectionAttacker sends malicious SQL input
Cross-site scriptingAttacker injects JavaScript into web page
Misconfigured cloudPublic storage bucket or wrong permissions
Weak passwordsEasy passwords are guessed or cracked
Open portsExposed services are attacked
Supply chain attackThird-party software/vendor is compromised
Insider threatEmployee or contractor misuses access

CISA warns that unpatched software can let attackers exploit publicly known vulnerabilities, and common attack vectors include phishing, compromised credentials, unpatched vulnerabilities, and misconfigured cloud services.


6. How all concepts connect

Here is the full relationship:

Asset:
Customer database

Attack surface:
Public login API, database port, admin portal

Vulnerability:
Weak password, no MFA, SQL injection bug

CVE:
Known vulnerability in old software version

Attack vector:
Phishing email or SQL injection request

Threat:
Hacker or malware group

Risk:
Customer data may be stolen

Controls:
Patch, MFA, firewall, input validation, monitoring, backup

Defense in depth:
Multiple layers protect the system even if one layer fails

7. Practical example: React + ASP.NET Core + SQL Server

Suppose you build this app:

React frontend
ASP.NET Core Web API
SQL Server database
Docker deployment
JWT authentication

Possible assets

User database
JWT signing key
Source code
Docker images
SQL Server
API server
Customer personal data

Possible vulnerabilities

Weak JWT secret key
No HTTPS
SQL injection
Old NuGet package
Old npm package
Exposed SQL Server port
No rate limiting on login
No MFA for admin

Possible attack vectors

Phishing admin password
Brute force login
Exploiting old package CVE
Sending malicious input to API
Stealing JWT from browser localStorage through XSS
Scanning open ports

Defense in depth controls

Use HTTPS
Use strong JWT secret or certificate
Use short token expiry
Use refresh token securely
Validate all input
Use EF Core parameterized queries
Enable CORS correctly
Keep NuGet/npm packages updated
Do not expose SQL Server publicly
Enable logging and monitoring
Use Docker image scanning
Take database backups
Use MFA for admin users

8. Simple memory trick

Vulnerability management = Find and fix weaknesses

Defense in depth = Many security layers

CVE list = Public list of known vulnerabilities

Attack surface = All possible entry points

Attack vector = Method used to attack

Final example:

An old Apache server is running on the internet.

Asset:
Web server

Vulnerability:
Old Apache version

CVE:
Known Apache vulnerability ID

Attack surface:
Public HTTP/HTTPS port

Attack vector:
Remote exploit request

Defense in depth:
Firewall, patching, WAF, monitoring, backup

Vulnerability management:
Scan → find CVE → prioritize → patch → verify