Note
Cara Membaca Vektor CVE - CVSS
Sumber diambil dari artikel https://www.first.org/cvss/v3-1/specification-document?utm_source=chatgpt.com

1. Bentuk dasarnya#
Contoh:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Strukturnya:
CVSS:3.1
│
└── versi CVSS
AV:N
AC:L
PR:N
UI:N
S:U
C:H
I:HA:H
Untuk CVSS v3.1 Base Score, selalu ada 8 metric:
AV / AC / PR / UI / S / C / I / A
FIRST juga menyediakan calculator resmi untuk v3.1.
2. Bagian pertama: Exploitability#
Empat metric pertama menjawab:
"Seberapa mudah vulnerability ini dieksploitasi?"
AV
AC
PRUI
AV — Attack Vector#
Dari mana attacker bisa melakukan serangan?
Code | Meaning | Gampangnya |
|---|---|---|
| Network | lewat network/Internet |
| Adjacent | harus berada di jaringan yang berdekatan |
| Local | harus punya akses lokal |
| Physical | harus menyentuh/manipulasi perangkat secara fisik |
Contoh:
AV:N
berarti vulnerability dapat dieksploitasi melalui network.
Yang menarik: Network tidak harus berarti "Internet publik". Menurut spesifikasi, serangan dari jaringan internal juga bisa tetap N.
Urutan severity:
N > A > L > P
Semakin remote aksesnya, semakin tinggi kontribusinya terhadap score.
3. AC — Attack Complexity#
Pertanyaannya:
Apakah ada kondisi khusus di luar kendali attacker yang harus terpenuhi?
Code | Meaning |
|---|---|
| Low |
| High |
AC:L#
Eksploitasi relatif repeatable.
Misalnya:
attacker → crafted request → vulnerability
Tidak perlu race condition atau keadaan target yang sangat spesifik.
AC:H#
Ada kondisi eksternal yang harus terjadi.
Contohnya secara konseptual:
attacker
↓
harus menunggu kondisi tertentu
↓
race condition
↓exploit
atau attacker harus memperoleh informasi tertentu tentang environment terlebih dahulu.
Penting: kebutuhan korban untuk mengklik sesuatu bukan AC:H. Itu masuk UI:R.
4. PR — Privileges Required#
Pertanyaannya:
Sebelum exploit, attacker harus punya akses apa?
Code | Meaning | Contoh sederhana |
|---|---|---|
| None | tidak perlu login |
| Low | perlu akun user biasa |
| High | perlu privilege tinggi/admin |
PR:N#
Internet
↓
attacker
↓vulnerable endpoint
Tidak perlu authentication.
PR:L#
Internet
↓
login sebagai ordinary user
↓exploit
PR:H#
login/admin privilege
↓ exploit
FIRST mendefinisikan PR berdasarkan privilege yang diperlukan sebelum successful exploitation, bukan privilege yang mungkin diperoleh setelah exploit.
5. UI — User Interaction#
Ini salah satu yang sering salah dibaca.
Pertanyaannya:
Apakah orang lain selain attacker harus melakukan sesuatu agar exploit berhasil?
Code | Meaning |
|---|---|
| None |
| Required |
UI:N#
attacker
↓
exploit
↓success
Tidak ada korban yang harus melakukan tindakan.
UI:R#
attacker
↓
malicious file/link
↓
victim clicks/opens/does something
↓exploit
Misalnya vulnerability pada document parser yang baru ter-trigger ketika user membuka dokumen malicious.
Ini yang terjadi pada contoh Ghidra yang kita bahas sebelumnya: adanya interaksi analyst membuat UI:R, bukan UI:N. Definisi resmi CVSS memang membedakan kebutuhan tindakan user ini dari Attack Complexity.
6. S — Scope#
Nah, ini bagian yang sedikit lebih susah.
Pertanyaannya:
Apakah exploit keluar dari security authority/component yang awalnya vulnerable?
Ada dua:
Code | Meaning |
|---|---|
| Unchanged |
| Changed |
S:U#
Impact tetap berada pada security scope yang sama.
Vulnerable App
↓
impact
↓Vulnerable App
S:C#
Exploit menembus security boundary dan memengaruhi component dengan security authority berbeda.
Component A
│
│ exploit
▼Component B
Contoh konseptual:
sandboxed application
↓
sandbox escape
↓host operating system
Ini bisa menjadi Scope: Changed, karena dampaknya melewati security boundary. FIRST menjelaskan Scope sebagai perubahan security authority/scope akibat vulnerability.
Jangan menyamakan S:C dengan "RCE".
RCE bisa S:U atau S:C, tergantung security boundary-nya.
7. Tiga metric terakhir: Impact#
Sekarang pertanyaannya berubah:
"Kalau exploit berhasil, seberapa besar dampaknya?"
Ada:
C
IA
8. C — Confidentiality#
Pertanyaannya:
Apakah attacker bisa mendapatkan informasi yang seharusnya tidak boleh dia akses?
Code | Meaning |
|---|---|
| None |
| Low |
| High |
C:N#
Tidak ada data rahasia yang terekspos.
C:L#
Sebagian informasi terbuka, tetapi dampaknya terbatas.
C:H#
Kehilangan confidentiality besar/total.
Misalnya vulnerability memungkinkan attacker mendapatkan credential administrator atau private key. FIRST memberikan contoh semacam ini sebagai high confidentiality impact.
9. I — Integrity#
Pertanyaannya:
Apakah attacker bisa mengubah data/sistem?
Code | Meaning |
|---|---|
| None |
| Low |
| High |
Contoh:
I:N
Attacker mungkin bisa membaca data, tetapi tidak mengubahnya.
Sedangkan:
I:H
misalnya attacker dapat memodifikasi file/data yang dilindungi secara luas.
10. A — Availability#
Pertanyaannya:
Apakah attacker bisa mengganggu operasi service/system?
Code | Meaning |
|---|---|
| None |
| Low |
| High |
Misalnya:
A:N
Service tetap berfungsi.
Sedangkan:
A:H
attacker dapat menyebabkan service sepenuhnya tidak tersedia atau mengalami dampak serius terhadap availability.
Catatan penting: Availability bukan sekadar "data hilang". CVSS membedakan dampak terhadap operasi component/service dari confidentiality/integrity data.
11. Sekarang baca vector contohmu#
Kita punya:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Pecah:
AV:N
→ bisa diserang melalui network
AC:L
→ tidak ada kondisi kompleks yang diperlukan
PR:N
→ tidak perlu privilege/login
UI:N
→ tidak perlu korban melakukan sesuatu
S:U
→ impact tetap dalam security scope yang sama
C:H
→ confidentiality impact tinggi
I:H
→ integrity impact tinggi
A:H
→ availability impact tinggi
Jadi secara mental kamu bisa membacanya sebagai:
"Remote, simple, unauthenticated, no user interaction → high impact terhadap C/I/A."
Itu adalah pola yang sangat serius dari sisi CVSS.
12. Base vs Temporal vs Environmental#
CVSS v3.1 sebenarnya punya tiga kelompok metric.
Base#
Karakteristik intrinsik vulnerability:
AV
AC
PR
UI
S
C
IA
Biasanya inilah yang kamu lihat pada vector CVE.
Temporal#
Hal-hal yang berubah seiring waktu:
E = Exploit Code Maturity
RL = Remediation LevelRC = Report Confidence
Contoh:
/E:P
P = Proof-of-Concept.
Atau:
/E:F
F = Functional exploit.
Metric Temporal bersifat opsional.
Environmental#
Dampak terhadap environment tertentu:
CR
IR
AR
MAV
MAC
MPR
MUI
MS
MC
MIMA
M berarti Modified.
Contohnya:
MAV:N
berarti environment tertentu memiliki Attack Vector Network meskipun Base metric-nya mungkin berbeda.
Environmental metrics dipakai karena organisasi berbeda bisa memiliki tingkat risiko yang berbeda untuk vulnerability yang sama.
13. Cara cepat menghafalnya#
Aku biasanya menyarankan hafal dalam dua kelompok:
EXPLOITABILITY
────────────────
AV = dari mana?
AC = seberapa sulit?
PR = perlu akses apa?
UI = perlu korban?
IMPACT
────────────────
S = keluar boundary?
C = data bocor?
I = data berubah?A = service terganggu?
Atau:
AV → WHERE
AC → HOW HARD
PR → ACCESS
UI → VICTIM
S → BOUNDARY
C → READ
I → WRITEA → BREAK
Ini jauh lebih mudah daripada menghafalkan kepanjangan satu-satu.
14. Urutan praktis saat membaca CVE#
Kalau kamu menemukan:
CVSS:3.1/AV:X/AC:X/PR:X/UI:X/S:X/C:X/I:X/A:X
jangan langsung lihat angka score.
Baca dengan urutan:
1. AV
↓
Bisa dari mana?
2. AC
↓
Ada kondisi khusus?
3. PR
↓
Harus login?
4. UI
↓
Korban harus melakukan sesuatu?
5. S
↓
Menyeberangi security boundary?
6. C
↓
Apa yang bisa dibaca?
7. I
↓
Apa yang bisa diubah?
8. A
↓ Apa yang bisa dibuat tidak tersedia?
Setelah itu baru lihat Base Score.
15. Reference resmi#
Kalau kamu mau menjadikannya referensi belajar/menulis laporan, tiga halaman FIRST ini yang paling berguna:
- CVSS v3.1 Specification — definisi resmi semua metric dan formula. CVSS v3.1 Specification Document
- CVSS v3.1 User Guide — penjelasan dan contoh scoring yang lebih konseptual. CVSS v3.1 User Guide
- CVSS v3.1 Calculator — masukkan vector dan lihat score/metric-nya. CVSS v3.1 Calculator