AntMediaHost

PENTING: Bugs cPanel WHM CVE-2026-41940

Fadli Fadlul Aziz
Fadli Fadlul Aziz
Tutorial 13
PENTING: Bugs cPanel WHM CVE-2026-41940

Pada tanggal 28 April 2026, cPanel merilis pengumuman keamanan darurat terkait kerentanan bypass autentikasi yang sangat serius. Celah yang diidentifikasi sebagai CVE-2026-41940 ini memiliki skor keparahan 9.8 (Critical). Jika tidak segera ditangani, peretas dapat mengambil alih kendali penuh server Anda tanpa perlu memiliki nama pengguna atau kata sandi.

Apa Itu CVE-2026-41940?

Ini adalah kerentanan jenis Authentication Bypass (Bypass Autentikasi). Secara teknis, celah ini memungkinkan penyerang jarak jauh yang tidak terautentikasi untuk melewati proses login normal dan mendapatkan akses tingkat root ke panel manajemen cPanel atau WHM.

Laporan menunjukkan bahwa eksploitasi terhadap celah ini sudah terjadi di "alam liar" (actively exploited in the wild), yang berarti peretas sudah mulai mencari dan menyerang server-server yang belum diperbarui.

Siapa yang Terdampak?

Masalah ini memengaruhi hampir semua versi cPanel & WHM setelah versi 11.40. Jika Anda mengelola server web atau menggunakan layanan VPS/Dedicated yang menggunakan cPanel, Anda kemungkinan besar berada dalam risiko.

Versi Aman (Sudah Dipatch)

Pihak cPanel telah merilis pembaruan keamanan darurat. Pastikan server Anda sudah menggunakan salah satu versi (atau yang lebih baru) berikut ini:

  • 11.86.0.41

  • 11.110.0.97

  • 11.118.0.63

  • 11.126.0.54

  • 11.130.0.19

  • 11.132.0.29

  • 11.134.0.20

  • 11.136.0.5

  • WP Squared: Versi 136.1.7

Bagi Anda yang masih menggunakan sistem operasi CentOS 6 atau CloudLinux 6 dan menggunakan cPanel v110.0.50, pihak cPanel juga sudah merilis v110.0.103 sebagai direct update. Untuk dapat melakukan update ke versi tersebut, sebelum melakukan langkah update dibawah, pastikan Anda jalankan perintah berikut :

whmapi1 set_tier tier=11.110.0.103

Langkah yang Harus Anda Lakukan Sekarang

  1. Lakukan Update Paksa (Force Update)

    Jangan menunggu jadwal update otomatis. Masuk ke terminal server Anda melalui SSH dan jalankan perintah berikut:

    /scripts/upcp --force
  2. Verifikasi dan Restart Layanan

    Setelah update selesai, pastikan versi cPanel Anda sudah sesuai dengan daftar versi aman di atas:

    /usr/local/cpanel/cpanel -V

    Kemudian, restart layanan cPanel untuk memastikan perubahan diterapkan:

    /scripts/restartsrv_cpsrvd --hard
  3. Lakukan Audit Keamanan (Compromise Assessment)

    Karena celah ini sudah aktif dieksploitasi, sangat disarankan untuk memeriksa apakah server Anda sudah sempat disusupi sebelum Anda melakukan update.

    Pihak cPanel sudah membuatkan bash script untuk memeriksa indikator penyusupan (IoC).

    Silahkan buat file misal ioc_checksessions_files.sh dan isikan script berikut :

    #!/bin/bash
    # Scan for compromised session files
    
    SESSIONS_DIR="/var/cpanel/sessions"
    COMPROMISED=0
    
    echo "[*] Scanning session files for injection indicators..."
    
    for session_file in "$SESSIONS_DIR"/raw/*; do
        [ -f "$session_file" ] || continue
        session_name=$(basename "$session_file")
    
        # Check if this session is/was pre-auth
        preauth_file="$SESSIONS_DIR/preauth/$session_name"
    
        # IOC 0: Session has both token_denied AND cp_security_token and method=badpass origin (strong indicator of exploitation)
        #
        # token_denied is set by do_token_denied() in cpsrvd when a request
        # supplies an incorrect security token. cp_security_token is the
        # attacker-injected token value. This combination indicates:
        #
        #   1. Attacker injected a cp_security_token via newline payload
        #   2. Attacker attempted to use the injected token
        #   3. cpsrvd recorded the token mismatch (token_denied counter)
        #      during the exploitation window before the session was
        #      fully promoted
        #
        # In a legitimate session:
        #   - token_denied is only present after a user-initiated
        #     security token failure (rare, typically from expired bookmarks)
        #   - It would never co-exist with a badpass origin AND an
        #     attacker-controlled cp_security_token
        #
        # This IOC catches BOTH successful and failed exploitation attempts.
        if grep -q '^token_denied=' "$session_file" && \
           grep -q '^cp_security_token=' "$session_file"; then
    
            # Extract values for triage context
            token_val=$(grep '^cp_security_token=' "$session_file" | head -1 | cut -d= -f2)
            denied_val=$(grep '^token_denied=' "$session_file" | head -1 | cut -d= -f2)
            origin=$(grep '^origin_as_string=' "$session_file" | head -1 | cut -d= -f2-)
            used=$(grep -a "$token_val" /usr/local/cpanel/logs/access_log | grep -m1 " 200 ")
            external_auth=$(grep '^successful_external_auth_with_timestamp=' "$session_file")
    
            # High confidence if origin is badpass (session was pre-auth)
            if grep -q '^origin_as_string=.*method=badpass' "$session_file"; then
                    if [ -z "$external_auth" ] && [ -z "$used" ]; then
                            echo "Found possible injected session file: $session_file"
                            echo "  - No sign of usage"
                    else
                        echo "[!] CRITICAL: Exploitation artifact - token_denied with injected cp_security_token: $session_file"
                        echo "    - cp_security_token=$token_val"
                        echo "    - token_denied=$denied_val"
                        echo "    - origin=$origin"
                        echo "    - Verdict: Session was pre-auth (badpass origin) with attacker-injected token"
                        echo "    - USED:  $used"
                        COMPROMISED=1
                    fi
            # Medium confidence but still suspicious for any session
            else
                echo "[!] WARNING: Suspicious session with token_denied + cp_security_token: $session_file"
                echo "    - cp_security_token=$token_val"
                echo "    - token_denied=$denied_val"
                echo "    - origin=$origin"
                echo "    - Review manually: may be legitimate token expiration or exploitation attempt"
            fi
        fi
    
        # IOC 1: Pre-auth session with authenticated attributes
        if [ -f "$preauth_file" ]; then
            if grep -qE '^successful_external_auth_with_timestamp=' "$session_file"; then
                echo "[!] CRITICAL: Injected session detected: $session_file"
                echo "    - Contains 'successful_external_auth_with_timestamp' in pre-auth session"
                COMPROMISED=1
            fi
        fi
    
        # IOC 2: Any session with tfa_verified but no valid origin
        if grep -q '^tfa_verified=1' "$session_file" && \
           ! grep -q '^origin_as_string=.*method=handle_form_login' "$session_file" && \
           ! grep -q '^origin_as_string=.*method=create_user_session' "$session_file" && \
           ! grep -q '^origin_as_string=.*method=handle_auth_transfer' "$session_file"; then
            echo "[!] WARNING: Session with tfa_verified but suspicious origin: $session_file"
            COMPROMISED=1
        fi
    
        # IOC 3: Password field containing newlines (corrupted session file)
        if grep -qzP '(?m)^pass=.*\n.' "$session_file" 2>/dev/null; then
            echo "[!] CRITICAL: Multi-line pass value detected: $session_file"
            COMPROMISED=1
        fi
    done
    
    if [ "$COMPROMISED" -eq 0 ]; then
        echo ""
        echo "[+] No indicators of compromise found."
    else
        echo ""
        echo "[!] INDICATORS OF COMPROMISE DETECTED - IMMEDIATE ACTION REQUIRED"
        echo "    1. Purge all sessions. This will force all users to login again."
        echo "         rm -f /var/cpanel/sessions/{cache,preauth,raw}/*"
        echo "    2. Force password reset for root and all WHM users"
        echo "         https://support.cpanel.net/hc/en-us/articles/360052796453-How-to-change-the-root-user-s-password-using-WHM"
        echo "         https://support.cpanel.net/hc/en-us/articles/360053012453-How-to-force-password-changes-on-users"
        echo "    3. Audit /var/log/wtmp and WHM access logs for unauthorized access"
        echo "    4. Check for persistence mechanisms (cron, SSH keys, backdoors)"
    fi

    Setelah file disimpan, jalankan bash script tersebut :

    /bin/bash ./ioc_checksessions_files.sh

    Berikut contoh hasil pengecekan dimana ada indikasi mitigasi dari IP 100.96.3.23

    # /bin/bash ./ioc_checksessions_files.sh 
    [*] Scanning session files for injection indicators... 
    [!] CRITICAL: Exploitation artifact - token_denied with injected cp_security_token: /var/cpanel/sessions/raw/:Q3f8Ag2epeBuTaIZ 
       - cp_security_token=/cpsess04396539398 
       - token_denied=1 
       - origin=address=100.96.3.23,app=whostmgrd,method=badpass 
       - Verdict: Session was pre-auth (badpass origin) with attacker-injected token 
    [!] WARNING: Session with tfa_verified but suspicious origin: /var/cpanel/sessions/raw/:Q3f8Ag2epeBuTaIZ 
    
    [!] INDICATORS OF COMPROMISE DETECTED - IMMEDIATE ACTION REQUIRED 
       1. Purge all sessions. This will force all users to login again.
            rm -f /var/cpanel/sessions/{cache,preauth,raw}/* 
       2. Force password reset for root and all WHM users
            https://support.cpanel.net/hc/en-us/articles/360052796453-How-to-change-the-root-user-s-password-using-WHM
            https://support.cpanel.net/hc/en-us/articles/360053012453-How-to-force-password-changes-on-users
       3. Audit /var/log/wtmp and WHM access logs for unauthorized access 
       4. Check for persistence mechanisms (cron, SSH keys, backdoors)
    File: ioc_checksessions_files.sh

    Jika ditemukan seperti contoh diatas, segera lakukan pengecekan menyeluruh dan hapus session yang ada.

Bagaimana Jika Saya Tidak Bisa Update Sekarang?

Jika karena alasan teknis Anda belum bisa melakukan update, cPanel menyarankan langkah mitigasi darurat berikut:

  • Blokir Port: Tutup akses ke port cPanel/WHM (2083, 2087, 2095, 2096) melalui firewall (hanya izinkan IP terpercaya Anda saja).

  • Matikan Layanan: Hentikan sementara layanan cpsrvd dan cpdavd.

FAQ

1. Apakah kerentanan ini dapat dimitigasi hanya dengan mengganti password?

Tidak. Karena ini adalah celah Authentication Bypass, peretas sama sekali tidak menggunakan password Anda untuk masuk. Mengganti password tidak akan efektif selama server Anda belum diperbarui ke versi yang memiliki patch.

2. Apakah fitur Autentikasi Dua Faktor (2FA) dapat mencegah serangan ini?

Sayangnya, dalam banyak skenario bypass autentikasi tingkat sistem seperti ini, mekanisme 2FA seringkali terlewati karena penyerang memanipulasi sesi di level yang lebih rendah sebelum validasi 2FA dilakukan. Update sistem tetap merupakan satu-satunya solusi permanen.

3. Apakah ada indikasi khusus jika server saya sudah dieksploitasi?

Indikasi umum meliputi adanya akun admin baru yang tidak dikenal, perubahan pada konfigurasi firewall, atau adanya file asing di direktori /tmp. cPanel menyarankan penggunaan skrip audit integritas sistem setelah proses patching selesai.

4. Mengapa cPanel merilis patch untuk versi lama seperti 11.86?

Hal ini menunjukkan betapa seriusnya ancaman CVE-2026-41940. cPanel mengambil langkah luar biasa dengan menyediakan patch untuk versi LTS (Long Term Support) dan versi yang lebih lama guna melindungi pengguna yang belum sempat melakukan migrasi ke versi terbaru.

5. Mengapa skor keparahan celah ini mencapai 9.8 dari 10?

Skor tersebut sangat tinggi karena celah ini bersifat Pre-Authentication Remote Code Execution. Artinya, peretas tidak perlu mengetahui password apa pun, bisa dilakukan dari jarak jauh lewat internet, dan dampaknya memberikan akses penuh (root) ke seluruh isi server.

Kesimpulan

Keamanan server adalah prioritas utama. Mengingat tingginya risiko dari CVE-2026-41940, kami sangat menyarankan para pemilik server dan administrator sistem untuk segera melakukan pembaruan hari ini juga. Jangan biarkan pintu server Anda terbuka lebar bagi tamu yang tidak diundang!

Sumber informasi resmi: cPanel Support - Security Update 04-28-2026

Bagikan Artikel

Tinggalkan Komentar

Tinggalkan Komentar

Selesaikan verifikasi keamanan terlebih dahulu.
Komentar dari Pembaca

Komentar

0 komentar

Belum Ada Komentar

Jadilah yang pertama memberikan komentar!

Partner Resmi & Penyedia Layanan Tersertifikasi

Microsoft PartnerGoogle WorkspaceZoom PartnerCloudLinux PartnerWHMCS PartnerPSE KominfocPanel Partner