Lompat ke kandungan utama
6 minit bacaan

Keselamatan CFML: CVE sebenar, dan cara mengukuhkan pelayan

Enam rekod kerentanan untuk Lucee dan lebih tiga ratus untuk ColdFusion dalam pangkalan data rasmi. Yang menentukan keselamatan awak bukan bilangan rekod itu, tetapi lima punca sebenar yang berulang dalam setiap insiden.

Coldfusion keselamatanColdFusionLuceeCVEpelayan
Kunci logam dan kepilan kabel rangkaian di atas meja gelap bercahaya biru
Imej dijana AI.

ColdFusion mempunyai reputasi keselamatan yang buruk dalam kalangan sebahagian pembangun. Sebahagian daripada reputasi itu berasas, dan sebahagiannya bertukar menjadi cerita yang berulang tanpa angka. Tulisan ini memisahkan dua perkara itu dengan menggunakan data daripada pangkalan data kerentanan rasmi, bukan pendapat.

Satu perkara perlu dinyatakan lebih awal supaya tidak salah faham. Kerentanan pada sebuah enjin adalah biasa dalam mana-mana teknologi yang berusia puluhan tahun. Yang menentukan sama ada sistem awak selamat bukan bilangan kerentanan yang pernah direkodkan, tetapi jarak antara tarikh tampalan dikeluarkan dan tarikh awak memasangnya.

Apa yang saya periksa, dan bila

Saya memeriksa pangkalan data kerentanan NIST, iaitu rujukan rasmi yang menyimpan rekod kerentanan yang diberi nombor CVE. Pemeriksaan saya dibuat pada September 2026.

  • Carian bagi kata kunci Lucee menghasilkan enam rekod.
  • Carian bagi kata kunci ColdFusion menghasilkan lebih tiga ratus rekod, termasuk yang tertua dari tahun 1999.
  • Nombor besar itu bukan bukti bahawa Adobe ColdFusion tiga ratus kali lebih teruk. Rekod tertua berusia lebih dua puluh lima tahun, dan bilangan rekod dipengaruhi oleh berapa lama produk itu dikaji, bukan hanya berapa kerap ia bermasalah.
Membandingkan bilangan CVE antara dua produk tanpa menyesuaikan umur dan jumlah pemasangan ialah kesilapan analisis yang sangat biasa. Nombor mentah menjawab soalan berapa banyak rekod wujud, bukan soalan berapa selamat sistem awak malam ini.

Kerentanan Lucee yang boleh awak semak sendiri

Enam rekod itu semuanya boleh disemak pada pangkalan data NIST. Beberapa yang penting untuk difahami diberikan di bawah bersama kadarnya. Kadar ini dipanggil skor CVSS, iaitu skala 0 hingga 10 yang menggambarkan keterukan kerentanan, dan nilai 9 ke atas biasanya bermakna kelemahan itu boleh digunakan tanpa banyak syarat.

  • CVE-2023-38693 dengan skor 9.8, iaitu rekod paling serius dalam senarai ini.
  • CVE-2024-55354 dengan skor 8.8, melibatkan keadaan yang memerlukan penyerang boleh meletakkan fail pada pelayan terlebih dahulu.
  • CVE-2021-21307 dengan skor 8.6.
  • CVE-2026-29519 dengan skor 8.2, iaitu kerentanan penulisan skrip silang yang dipantulkan melalui penguraian laluan URL. Rekod ini menyatakan ia melibatkan baris keluaran 5.3.x, 6.1.x, 6.2.x dan 7.0.x, dan ia boleh digunakan tanpa pengesahan. Nama itu panjang, tetapi maksudnya mudah. Penyerang boleh membina satu pautan yang, apabila dibuka oleh orang lain, menjalankan kod di dalam pelayar orang itu.
  • Dua lagi rekod melibatkan kelemahan yang memerlukan pengesahan, dan salah satunya menyentuh antara muka pentadbir.

Perhatikan tarikh CVE-2026-29519, iaitu Julai 2026. Ini bukan perkara lama, dan ia juga bukan alasan untuk panik. Ia sebab untuk menyemak versi enjin awak hari ini dan membandingkannya dengan keluaran terbaru enjin itu.

Rekod Adobe yang perlu dikenali

Untuk Adobe ColdFusion, rekod yang paling sering disebut dalam konteks insiden ialah CVE-2023-26360, dengan skor CVSS 8.6 dan diterbitkan pada Mac 2023. Rekod itu menyatakan versi 2018 sehingga kemas kini 15 dan versi 2021 sehingga kemas kini 5 sebagai terjejas, dan menerangkan kelemahan kawalan capaian yang boleh membawa kepada pelaksanaan kod sewenang-wenangnya.

Yang penting daripada rekod itu bukan nombornya, tetapi apa yang ia gambarkan. Kerentanan pada sistem berusia bertahun-tahun biasanya datang daripada ciri lama yang masih dihidupkan. Apabila awak memasang enjin baharu, banyak ciri itu dimatikan secara lalai. Bahayanya ialah apabila sistem lama dipindahkan ke enjin baharu sambil semua ciri lama dihidupkan semula supaya kodnya terus berjalan.

Lima punca sebenar insiden, mengikut susunan kekerapan

Rekod kerentanan menjelaskan bagaimana penyerang boleh masuk. Ia tidak menjelaskan mengapa sistem terdedah. Lima sebab di bawah ini ialah apa yang biasanya berlaku dalam keadaan sebenar, dan tiada satu pun daripada mereka memerlukan penyerang yang canggih.

  • Antara muka pentadbir dibuka kepada seluruh internet. Ini punca paling biasa. Panel pentadbir tidak sepatutnya boleh dicapai oleh sesiapa sahaja di dunia, dan menukar laluannya tidak menjadikannya selamat.
  • Enjin yang usang. Sistem yang berjalan selama empat atau lima tahun tanpa tampalan keselamatan ialah keadaan yang paling biasa ditemui dalam sistem lama, dan sebab ia begitu biasa ialah kerana tiada sesiapa bertanggungjawab untuknya.
  • Kata laluan pentadbir yang lemah atau dikongsi antara beberapa orang. Satu kata laluan yang dikongsi bermakna tiada rekod siapa yang berbuat apa, dan pemadaman akaun selepas seseorang berhenti kerja menjadi mustahil.
  • Ciri pembangunan yang ditinggalkan dalam sistem hidup. Log terperinci dan antara muka pengesanan yang berguna semasa membina sistem itu boleh mendedahkan banyak perkara apabila dibiarkan aktif di internet.
  • Kebenaran yang terlalu luas. Akaun pangkalan data yang digunakan oleh sistem biasanya mempunyai kuasa menghapuskan seluruh pangkalan data, walaupun kerja sebenarnya hanya perlu membaca dan menulis beberapa jadual.

Sepuluh perkara yang saya syorkan dilakukan sendiri

  • Semak versi enjin awak hari ini, kemudian bandingkan dengan keluaran terbaru yang diterbitkan oleh pihak enjin itu sendiri.
  • Tampal segera, dan tetapkan cara untuk tahu apabila tampalan baharu keluar. Tampalan yang keluar minggu lepas tidak menutup apa-apa jika awak hanya memeriksanya sekali setahun.
  • Sekat antara muka pentadbir daripada internet. Kalau awak perlu menggunakannya, gunakan penghadang alamat dan bukan laluan rahsia.
  • Matikan ciri yang tidak digunakan. Setiap ciri yang hidup ialah satu kawasan yang perlu dijaga.
  • Tetapkan akaun pangkalan data sistem supaya mempunyai hanya kebenaran yang diperlukan, tidak lebih.
  • Letakkan enjin supaya berjalan dengan akaun pengguna biasa pada sistem itu, bukan sebagai pengguna tertinggi.
  • Hidupkan mekanisme keselamatan yang disediakan oleh enjin itu sendiri, dan jangan longgarkannya dengan alasan ia menyusahkan kerja.
  • Sediakan satu tempat untuk log, dan buat satu cara supaya awak membaca amaran yang penting. Log yang tidak pernah dibaca sama nilainya dengan tiada log.
  • Buat sandaran yang boleh dipulihkan, dan uji pemulihan itu sekali sekala. Sandaran yang tidak pernah diuji bukan sandaran, tetapi harapan.
  • Adakan pemeriksaan untuk perkhidmatan yang berhenti sendiri, kerana sistem yang mati senyap lebih merbahaya daripada sistem yang gagal dengan bunyi bising.

Kesimpulan yang jujur

Tiada bahasa pengaturcaraan yang selamat secara lalai. Sistem yang selamat biasanya sistem yang dikemas kini, yang lognya dibaca dan yang tidak meletakkan panel pentadbirnya di depan pintu. Ketiga-tiga perkara itu adalah kerja, bukan ciri.

Cara menyemak sendiri sama ada sistem awak terdedah

Semakan ini tidak memerlukan alat khas, dan ia mengambil masa kurang daripada sepuluh minit. Lakukan pada sistem awak sendiri, bukan pada sistem orang lain.

  • Semak versi enjin yang berjalan, kemudian bandingkan dengan keluaran terbaru yang diterbitkan oleh pihak enjin itu.
  • Cuba buka halaman pentadbir enjin dari luar rangkaian pejabat. Kalau ia terbuka, ia masalah pertama yang perlu diselesaikan, dan ia tidak memerlukan sebarang kepakaran untuk dibaiki.
  • Cari fail log, kemudian baca apa yang tercatat semasa waktu luar pejabat. Serangan automatik hampir selalu kelihatan di situ sebagai permintaan yang berulang pada laluan yang tidak pernah wujud dalam sistem awak.
  • Periksa akaun pangkalan data yang digunakan oleh sistem, dan pastikan ia tidak mempunyai kebenaran menguruskan pengguna atau menghapuskan pangkalan data.
  • Semak sama ada ciri pembangunan masih hidup. Kalau sistem itu sudah digunakan oleh orang sebenar, ciri untuk membina sistem biasanya tidak lagi diperlukan.

Perkara yang tidak boleh diselesaikan oleh teknologi

Ada satu perkara yang tidak muncul dalam mana-mana senarai pengukuhan, dan ia lebih menentukan daripada semua yang lain. Sistem selamat apabila ada seorang manusia yang tahu ia wujud, tahu apa yang berjalan di dalamnya, dan membaca amaran apabila ia berbunyi.

Saya pernah melihat sistem yang sempurna dari segi teknikal, dengan tampalan terkini dan panel pentadbir tertutup, tetapi tiada siapa membaca log selama lapan bulan. Sistem seperti itu selamat sehingga satu perkara berlaku, dan apabila ia berlaku, tiada sesiapa yang tahu bila ia bermula. Keselamatan bukan keadaan yang dicapai sekali, tetapi tabiat yang diulang setiap minggu.

Kalau awak mengambil satu perkara sahaja daripada tulisan panjang ini, ambillah yang ini. Kerentanan yang ditemui bulan lepas ialah masalah yang boleh diselesaikan. Enjin yang dibiarkan selama lima tahun tanpa diperiksa ialah masalah yang lebih besar, dan ia tidak akan muncul dalam mana-mana senarai CVE.

Baca juga di laman ini

Sumber yang disemak

Maklumat dalam tulisan ini disemak dengan sumber di bawah. Bila keadaan berubah (harga, waktu, terma), sumber inilah yang paling tepat — bukan halaman ini.

Dapat tulisan baharu terus ke e-mel

Sekali sekala sahaja: panduan web, berita AI, dan tempat menarik di Kelantan. Tiada iklan, dan e-mel encik tidak dikongsi dengan sesiapa.

Berhenti langgan bila-bila masa, satu klik.

Kongsi WhatsApp Facebook

Berkaitan halaman ini

Pautan afiliasi Shopee — saya mungkin menerima komisen, harga awak tetap sama.

Senarai penuh ada di kedai afiliasi.

Rujukan yang mungkin berguna

Pautan rujukan — anda dapat ganjaran pendaftaran, saya juga dapat ganjaran. Tiada kos tambahan untuk anda.

Afiliasi

Shopee Affiliate — Jana komisen dengan berkongsi pautan produk Shopee

Program afiliasi rasmi Shopee. Kongsi pautan produk, dan anda menerima komisen bagi setiap jualan yang berlaku melalui pautan anda. Daftar melalui pautan ini dan masukkan kod rujukan 7FZB2E9 — saya menerima ganjaran rujukan, dan anda tidak dikenakan sebarang kos tambahan.

Ganjaran: Komisen bagi setiap jualan melalui pautan anda (kadar ditetapkan Shopee mengikut kategori produk)

Bank

Ryt Bank — Bank digital berlesen di Malaysia

Ryt Bank ialah bank digital berlesen di Malaysia, disokong YTL Digital Capital dan Sea Limited (kumpulan di sebalik Shopee). Semua urusan melalui aplikasi — buka akaun, simpanan dan pembayaran tanpa cawangan.

Ganjaran: RM5 dijamin selepas mendaftar; sehingga RM100 jika anda mencuba Ryt AI atau Ryt Groups (kempen ulang tahun pertama Ryt Bank — tertakluk syarat)

Kod: EL5QB

Daftar di Ryt Bank

Senarai penuh (bank digital, minyak, penghantaran) ada di halaman rujukan. Maklumat di atas ialah ringkasan terma penyedia — sila semak terma penuh di laman rasmi mereka.