October 14, 2026
Menemukan 3 Kerentanan di 3 Subdomain Nokia dalam Sehari (Semuanya Duplikat)
1. Ringkasan Eksekutif (Executive Summary / TL;DR)

By Mencari si dia
3 min read
- 1 1. Ringkasan Eksekutif (Executive Summary / TL;DR)
- 2 2. Pendahuluan (Introduction)
- 3 3. Temuan 1: Kebocoran Rahasia Client-Side (Base64 Config) di Subdomain A
- 4 4. Temuan 2: Reflected XSS pada Parameter SMAGENTNAME di Subdomain B
- 5 5. Temuan 3: Hardcoded OAuth Secrets di Bundle JavaScript pada Subdomain C
1. Ringkasan Eksekutif (Executive Summary / TL;DR)
- Target: 3 Subdomain Nokia
(redacted.redacted.nokia.com) - Tanggal Penemuan: 20 Juli 2026
- Jenis Kerentanan: Sensitive Information Disclosure (Client-Side Config & Hardcoded Secrets) & Reflected Cross-Site Scripting (XSS)
- Status: Duplicate (Dilaporkan, namun sudah pernah dilaporkan oleh peneliti lain)
- Dampak: Kebocoran rahasia kriptografi (SAML, OAuth), Hardcoded Client Secret, dan potensi pencurian cookie sesi.
2. Pendahuluan (Introduction)
Halo, saya Primandito Adi Setiya, seorang bug hunter. Pada 20 Juli 2026, saya memutuskan untuk melakukan vulnerability testing pada beberapa subdomain milik Nokia. Dalam satu sesi hunting tersebut, saya berhasil menemukan 3 celah keamanan yang berbeda di 3 subdomain yang berbeda.
Meskipun pada akhirnya ketiga laporan tersebut ditandai sebagai Duplikat oleh tim keamanan Nokia, saya tetap mendokumentasikan prosesnya sebagai bagian dari portofolio dan pembelajaran. Artikel ini akan membahas bagaimana saya menemukannya dan apa yang bisa kita pelajari dari proses tersebut.
3. Temuan 1: Kebocoran Rahasia Client-Side (Base64 Config) di Subdomain A
Detail Kerentanan:
Saat membuka halaman login pada Subdomain A (redacted.redacted.nokia.com), saya melakukan source code review pada halaman tersebut. Di dalam tag <script>, saya menemukan sebuah variabel bernama base64Config yang berisi string Base64 yang sangat panjang.
Langkah Reproduksi (PoC):
- Ekstrak string Base64 tersebut ke dalam sebuah file (misal:
base64.txt). - Gunakan perintah terminal untuk mendekode dan memformatnya menjadi JSON:
- cat base64.txt | base64 -d | python3 -m json.tool
- Hasil decoding mengejutkan. Terdapat berbagai rahasia sensitif yang seharusnya tidak terekspos ke publik.
Informasi Sensitif yang Bocor:
SAML_BRIDGE_PRIVATE_KEY&SAML_BRIDGE_PEER_SIGNING_CERTSSAML_IDP_X509_CERTSAML_PARSER_JWT_SECRETVITE_AZURE_AD_CLIENT_SECRETVITE_NEXTAUTH_SECRETUSERGUIDES_POF_UPLOAD_SECRET
Dampak (Impact): Kebocoran kunci privat SAML dan rahasia OAuth (Azure) dapat memungkinkan penyerang untuk memalsukan token autentikasi, mengakses API internal, atau melakukan Account Takeover jika kunci-kunci tersebut masih valid dan digunakan di lingkungan produksi.
4. Temuan 2: Reflected XSS pada Parameter SMAGENTNAME di Subdomain B
Detail Kerentanan:
Pada endpoint login di Subdomain B (redacted.redacted.nokia.com), saya menemukan celah Reflected Cross-Site Scripting (XSS). Parameter SMAGENTNAME tidak disanitasi dengan benar, sehingga memungkinkan eksekusi JavaScript.
Langkah Reproduksi (PoC):
- Akses URL berikut (payload disensor):
https://redacted.redacted.nokia.com/login/login.jsp?METHOD=GET&SMAGENTNAME=$SM$9Nh+VuR4gf0CTVy3LchGQxIWbd3BZQgZyNNwg0vJbCKgzde5UNO0xOUDULYvqiI5'">&TARGET=$SM$HTTPS://online.networks.nokia.com/entry/Do?action=volpwchange$&TYPE=33554433&REALMOID=06-0004ba5c-df05-1083-acba-83132513fd21&GUID&SMAUTHREASON=0
- Setelah halaman dimuat, browser mengeksekusi payload dan menampilkan pop-up alert yang berisi cookie sesi pengguna (seperti
OptanonConsent,_mktk, dll).
Dampak (Impact): Penyerang dapat mencuri cookie sesi pengguna, yang berpotensi berujung pada session hijacking.
5. Temuan 3: Hardcoded OAuth Secrets di Bundle JavaScript pada Subdomain C
Detail Kerentanan:
Saat menganalisis file JavaScript (chunk-*.js) yang dimuat oleh Subdomain C (redacted.redacted.nokia.com), saya menemukan objek environment yang berisi konfigurasi SSO (Single Sign-On) untuk Google dan Azure. Konfigurasi ini tidak hanya berisi clientId (yang memang publik), tetapi juga clientSecret dan client_secret yang seharusnya bersifat rahasia.
Langkah Reproduksi (PoC):
- Buka Developer Tools (F12) pada browser.
- Masuk ke tab Sources dan cari file JavaScript yang mengandung konfigurasi
environment. - Ditemukan objek
SSO_CONFIGyang berisi:
google.clientSecret(Terekspos)azure.client_secret(Terekspos)google.clientId,azure.clientId, dan berbagai endpoint OAuth.
Dampak (Impact):
Meskipun clientId memang didesain untuk publik, clientSecret (terutama pada Azure) tidak boleh berada di sisi client. Jika terekspos, penyerang dapat menyalahgunakan kredensial ini untuk memalsukan aplikasi, mengakses API backend secara tidak sah, atau melakukan serangan Account Takeover jika tidak ada validasi tambahan dari sisi server.
6. Status Pelaporan (Duplikat)
Setelah melakukan verifikasi, saya melaporkan ketiga temuan ini ke program bug bounty Nokia. Beberapa saat kemudian, tim keamanan Nokia merespons dengan baik dan mengonfirmasi bahwa ketiga temuan ini valid.
Namun, mereka juga menginformasikan bahwa ketiga kerentanan tersebut sudah pernah dilaporkan oleh peneliti lain sebelumnya (Duplikat). Meskipun tidak mendapatkan bounty, ini tetap menjadi pengalaman berharga karena berhasil menemukan celah yang sama dengan peneliti lain di perusahaan sekelas Nokia.
7. Rekomendasi Perbaikan (Remediation)
- Jangan Simpan Rahasia di Client-Side: Jangan pernah menyimpan kunci privat,
clientSecret, atau kredensial apa pun di dalam source code yang dikirim ke browser. Gunakan environment variables di sisi server. - Output Encoding: Lakukan HTML entity encoding pada semua input yang ditampilkan kembali ke halaman HTML untuk mencegah XSS.
- Validasi Input: Batasi karakter yang diizinkan pada parameter URL.
8. Penutup
Menemukan 3 celah di 3 subdomain berbeda dalam sehari di Nokia adalah pengalaman yang memacu adrenalin. Meskipun semuanya duplikat, ini membuktikan bahwa metodologi reconnaissance dan testing saya berjalan dengan baik. Bagi para bug hunter, jangan pernah berkecil hati jika laporan lu ditolak karena duplikat. Teruslah belajar, karena setiap temuan (baik yang valid maupun duplikat) adalah langkah menuju kesuksesan berikutnya. Happy hunting!