Skip to content

Commit 61cef0b

Browse files
committed
CVSS Score 4
1 parent 2f8bf18 commit 61cef0b

4 files changed

Lines changed: 60 additions & 1 deletion

File tree

trainingportal/qna.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,11 @@ let cvss_5_chain = () => {
246246
let cvss_6_score_3 = () => {
247247
return {"digest": getDigest("CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N")};
248248
}
249+
250+
let cvss_7_score_4 = () => {
251+
return {"digest": getDigest("CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N")};
252+
}
253+
249254
const DEFS = {
250255
"crypto_caesar": caesarEnc,
251256
"crypto_vigenere": vigenereEnc,
@@ -258,7 +263,8 @@ const DEFS = {
258263
"cvss_3_score_1": cvss_3_score_1,
259264
"cvss_4_score_2": cvss_4_score_2,
260265
"cvss_5_chain": cvss_5_chain,
261-
"cvss_6_score_3": cvss_6_score_3
266+
"cvss_6_score_3": cvss_6_score_3,
267+
"cvss_7_score_4": cvss_7_score_4
262268
}
263269

264270
module.exports = {
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
### Task
2+
3+
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).
4+
5+
<br><br>
6+
7+
### Scenario
8+
9+
The company "PCGamingCompany.insecure.example" offers computer games to its customers. The service offers an easy sign up for new customers.
10+
11+
From a technical standpoint, they have a web client and a desktop client. In order for customers to play games, they have to download the desktop client and log into their account.
12+
13+
<br><br>
14+
15+
#### Vulnerability
16+
17+
An authenticated attacker can leverage an Authorization bypass in a development debug API that got into production to read arbitrary files on the filesystem of a victim with installed desktop client.
18+
19+
**Note:** For this example we can assume that userids are easily guessable. This is an issue on its own, but is out of scope for this example.
20+
21+
<br><br>
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
High-level analysis:
2+
3+
- Prerequisites:
4+
- None. Even if from technical point of view the API does require authentication, it is easy for an attacker to obtain a normal account and leverage that. Per the [CVSS Specification](https://www.first.org/cvss/v4-0/specification-document#Privileges-Required-PR): "Generally, self-service provisioned accounts do not constitute a privilege requirement if the attacker can grant themselves privileges as part of the attack".
5+
- Impact:
6+
- There is High impact on Confidentiality as all files on the victim's machine can be read by the attacker.
7+
- While the attacker leverages the Vulnerable System (i.e. the Web API), the impact is on a Subsequent System (i.e. the victim's machine), so we have a change of scope and impact on Subsequent System
8+
9+
---
10+
11+
CVSS:
12+
13+
- Attack Vector: Network (N)
14+
- Attack Complexity: Low (L)
15+
- Attack Requirements: None (N)
16+
- Privileges Required: None (N)
17+
- User Interaction: None (N)
18+
- Vulnerable System Confidentiality: None (N)
19+
- Vulnerable System Integrity: None (N)
20+
- Vulnerable System Availability: None (N)
21+
- Subsequent System Confidentiality: High (H)
22+
- Subsequent System Integrity: None (N)
23+
- 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
@@ -94,6 +94,15 @@
9494
"type":"quiz",
9595
"mission":"Enter the CVSS v4 string (Base Score)",
9696
"codeBlockIds":[]
97+
},
98+
{
99+
"id":"cvss_7_score_4",
100+
"name":"Score Vulnerability 4",
101+
"description": "cvss_7_score_4.md",
102+
"solution": "cvss_7_score_4.sol.md",
103+
"type":"quiz",
104+
"mission":"Enter the CVSS v4 string (Base Score)",
105+
"codeBlockIds":[]
97106
}
98107
]
99108
}

0 commit comments

Comments
 (0)