Skip to content

Commit ad55fa9

Browse files
committed
Vulnerability Chaining
1 parent c54c86e commit ad55fa9

4 files changed

Lines changed: 56 additions & 1 deletion

File tree

trainingportal/qna.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,10 @@ let cvss_4_score_2 = () => {
239239
return {"digest": getDigest("CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N")};
240240
}
241241

242+
let cvss_5_chain = () => {
243+
return {"digest": getDigest("CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N")};
244+
}
245+
242246
const DEFS = {
243247
"crypto_caesar": caesarEnc,
244248
"crypto_vigenere": vigenereEnc,
@@ -249,7 +253,8 @@ const DEFS = {
249253
"crypto_pbk": pbkEnc,
250254
"crypto_analysis": analysisEnc,
251255
"cvss_3_score_1": cvss_3_score_1,
252-
"cvss_4_score_2": cvss_4_score_2
256+
"cvss_4_score_2": cvss_4_score_2,
257+
"cvss_5_chain": cvss_5_chain
253258
}
254259

255260
module.exports = {
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
### Vulnerability Chaining
2+
3+
The CVSS framework is designed for assessing an individual vulnerability having known the details on exploitability and impact. However, it is sometimes necessary to look into more complex attacks that leverage multiple vulnerabilities into a chain. While the CVSS is not specifically designed for more complex attacks, it does accommodate for scoring a single attack consisting of a vulnerability chain.
4+
5+
6+
Vulnerability chaining is covered in the [CVSS User Guide](https://www.first.org/cvss/v4-0/user-guide#Vulnerability-Chaining).
7+
8+
### Task
9+
10+
Score the following scenario using the CVSS v4.0 calculator [https://www.first.org/cvss/calculator/4-0](https://www.first.org/cvss/calculator/4-0).
11+
12+
### Scenario
13+
14+
This attack scenario consists of the 2 vulnerabilties we saw earlier. Imagine that an attacker is aware and has the ability to execute both of them as necessary to perform an attack.
15+
16+
You can leverage the CVSS vectors of the previous 2 vulnerabilities that we scored.
17+
18+
#### Vulnerability 1
19+
20+
Unauthenticated attacker can list registered users of a SaaS offering (username and userid).
21+
22+
#### Vulnerability 2
23+
24+
A malicious SaaS user with knowledge of another user’s unique 128-bit userid, can read all the information (e.g. details, activity, messages) for that user through an Authorization bypass in the API.
25+
26+
#### Impact
27+
28+
The attacker is now able to read the information for all users.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
- Attack Vector: Network (N)
2+
- Attack Complexity: Low (L)
3+
- The requirement on knowing the unique userid is still present, however vulnerability 1 allows the attacker to easily obtain these for all users.
4+
- Attack Requirements: None (N)
5+
- Privileges Required: Low (L)
6+
- The attacker still needs to be authenticated user in order to perform the second part of the attack i.e. obtain sensitive data.
7+
- User Interaction: None (N)
8+
- Vulnerable System Confidentiality: High (H)
9+
- Vulnerable System Integrity: None (N)
10+
- Vulnerable System Availability: None (N)
11+
- Subsequent System Confidentiality: None (N)
12+
- Subsequent System Integrity: None (N)
13+
- Subsequent System Availability: None (N)

trainingportal/static/lessons/cvss/definitions.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,15 @@
7676
"type":"quiz",
7777
"mission":"Enter the CVSS v4 string (Base Score)",
7878
"codeBlockIds":[]
79+
},
80+
{
81+
"id":"cvss_5_chain",
82+
"name":"Chaining Vulnerabilities",
83+
"description": "cvss_5_chain.md",
84+
"solution": "cvss_5_chain.sol.md",
85+
"type":"quiz",
86+
"mission":"Enter the CVSS v4 string (Base Score)",
87+
"codeBlockIds":[]
7988
}
8089
]
8190
}

0 commit comments

Comments
 (0)