Skip to content

Commit 2f8bf18

Browse files
committed
CVSS Score 3
1 parent f395ebb commit 2f8bf18

4 files changed

Lines changed: 57 additions & 1 deletion

File tree

trainingportal/qna.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,9 @@ let cvss_5_chain = () => {
243243
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")};
244244
}
245245

246+
let cvss_6_score_3 = () => {
247+
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")};
248+
}
246249
const DEFS = {
247250
"crypto_caesar": caesarEnc,
248251
"crypto_vigenere": vigenereEnc,
@@ -254,7 +257,8 @@ const DEFS = {
254257
"crypto_analysis": analysisEnc,
255258
"cvss_3_score_1": cvss_3_score_1,
256259
"cvss_4_score_2": cvss_4_score_2,
257-
"cvss_5_chain": cvss_5_chain
260+
"cvss_5_chain": cvss_5_chain,
261+
"cvss_6_score_3": cvss_6_score_3
258262
}
259263

260264
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 the API and see all the games owned by a particular user.
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: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
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+
- Some non-sensitive data are exposed
7+
8+
---
9+
10+
CVSS:
11+
12+
- Attack Vector: Network (N)
13+
- Attack Complexity: Low (L)
14+
- Attack Requirements: None (N)
15+
- Privileges Required: None (N)
16+
- User Interaction: None (N)
17+
- Vulnerable SystemConfidentiality: Low (L)
18+
- Vulnerable System Integrity: None (N)
19+
- Vulnerable System Availability: None (N)
20+
- Subsequent System Confidentiality: None (N)
21+
- Subsequent System Integrity: None (N)
22+
- 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
@@ -85,6 +85,15 @@
8585
"type":"quiz",
8686
"mission":"Enter the CVSS v4 string (Base Score)",
8787
"codeBlockIds":[]
88+
},
89+
{
90+
"id":"cvss_6_score_3",
91+
"name":"Score Vulnerability 3",
92+
"description": "cvss_6_score_3.md",
93+
"solution": "cvss_6_score_3.sol.md",
94+
"type":"quiz",
95+
"mission":"Enter the CVSS v4 string (Base Score)",
96+
"codeBlockIds":[]
8897
}
8998
]
9099
}

0 commit comments

Comments
 (0)