Jawaban langsung: CVE-2026-76954 adalah celah SQL injection di Auth APIAPIPintu resmi yang dipakai 2 sistem untuk saling mengirim data, tanpa orang menyalin data secara manual.Buka glosarium Synology DSM dengan skor CVSS 3.1 9.8. Penyerang dari jaringan, tanpa login dan tanpa klik dari user, bisa membaca dan menulis berkas apa saja di NAS. Hari ini, cek versi DSM, naik ke build aman, lalu tutup akses DSM dari internet sampai upgrade selesai.
Synology menerbitkan advisory Synology-SA-26:19 pada 10 November 2026. Advisory yang sama memuat CVE-2026-85101 di layanan rsync dengan skor 8.6. Synology menulis mitigasi: None, jadi hanya upgrade yang menutup kedua celah.
Kondisi utama: Per 12 November 2026, Synology tidak menulis laporan serangan, dan CISA KEV tidak memuat celah ini. Kami tetap menulis peringatan karena skor 9.8 dan celah bekerja sebelum login. Batas: Artikel ini tidak memuat isi request, payload, atau urutan serangan.
Kami membaca advisory Synology-SA-26:19, catatan CVE-2026-76954, catatan CVE-2026-85101, CISA KEV, dan KB Synology pada 12 November 2026, pukul 13.35 sampai 13.59 WIB. Skrip di langkah 1 dan 5 kami jalankan di container podman dengan image resmi Debian dan berkas DSM dummy. DSM tidak punya image container, jadi langkah di antarmuka DSM kami tulis dari KB Synology.
Masalah: NAS kantor sering terbuka ke internet
Banyak kantor kecil dan UMKM memakai NAS Synology untuk berkas kerja, backup laptop, dan foto produk. Agar NAS bisa dibuka dari luar kantor, admin sering meneruskan port di router atau memakai QuickConnect.
Menurut daftar port layanan Synology, DSM memakai port 5000 untuk HTTP dan 5001 untuk HTTPS. Layanan rsync memakai port 873. Analisa Rama Digital: Auth API adalah bagian dari layanan web DSM, jadi Auth API ikut terbuka bila halaman login DSM terbuka. Advisory tidak menulis port.

Advisory terbit pada 10 November 2026 dengan status Resolved. Catatan CVE terbit pada 12 November 2026 pukul 03.41 UTC. Build perbaikan untuk 4 cabang DSM sudah tersedia saat advisory terbit.
Cara kerja: celah sebelum login
Kedua celah bekerja sebelum login, jadi password yang kuat dan MFA tidak menjaga NAS dari celah ini.
Bagian ini memakai ringkasan resmi. Tujuannya membantu Anda memilih langkah yang tepat, bukan menjelaskan cara menyerang.
Ringkasan dari Synology
Menurut advisory Synology-SA-26:19, CVE-2026-76954 adalah celah "improper neutralization of special elements used in an SQL command" di Auth API DSM. Jenisnya CWE-89, yaitu SQL injection. Penyerang jarak jauh bisa membaca atau menulis berkas apa saja dan membuat DoS.
CVE-2026-85101 adalah celah autentikasi yang dilewati lewat jalur lain di layanan rsync DSM. Jenisnya CWE-288. Penyerang jarak jauh bisa membaca berkas tertentu, menulis berkas apa saja, dan membuat DoS terbatas.
2 CVE di advisory yang sama
Advisory Synology-SA-26:19 memuat 2 CVE. Upgrade yang sama menutup keduanya.
| CVE | Jenis celah | CVSS 3.1 Synology | Akibat |
|---|---|---|---|
| CVE-2026-76954 | SQL injection di Auth API DSM (CWE-89) | 9.8 Critical | Tanpa login. Baca dan tulis berkas apa saja, lalu DoS. |
| CVE-2026-85101 | Login rsync dilewati lewat jalur lain (CWE-288) | 8.6 Important | Tanpa login. Baca berkas tertentu, tulis berkas apa saja, DoS terbatas. |

Skor 9.8 berasal dari Synology sebagai CNA. Vektor AV:N/AC:L/PR:N/UI:N berarti serangan lewat jaringan, mudah, tanpa hak akses, dan tanpa interaksi user.
Status eksploitasi per 12 November 2026
Synology tidak menulis laporan serangan dan tidak memuat IOC. CISA KEV tidak memuat CVE-2026-76954 atau CVE-2026-85101. Synology menyebut peneliti dari Viettel Cyber Security dan Warisse Valentin sebagai pelapor.
Analisa Rama Digital: berkas yang bisa ditulis tanpa login bisa menjadi jalan untuk mengambil alih NAS atau mengenkripsi data. Kondisi: NAS terbuka ke internet dan belum upgrade. Batas: advisory hanya menulis baca berkas, tulis berkas, dan DoS, bukan eksekusi kode.
Siapa yang paling berisiko
Kantor yang membuka halaman login DSM ke internet dan belum upgrade paling berisiko.
Tabel ini merangkum advisory Synology-SA-26:19, daftar port layanan Synology, dan analisa kami.
| Kondisi NAS | Risiko | Alasan |
|---|---|---|
| Port 5000 atau 5001 diteruskan dari router, atau aturan UPnP aktif | Tinggi | Analisa Rama Digital: Auth API menjawab dari internet sebelum login |
| QuickConnect aktif untuk akses dari luar | Tinggi | Analisa Rama Digital: DSM bisa dibuka dari internet tanpa port forward |
| Layanan rsync aktif dan port 873 terbuka | Tinggi | Jalan untuk CVE-2026-85101 |
| Update DSM otomatis mati | Periksa | NAS tetap rentan sampai admin upgrade |
| Log Center dan Auto Block tidak dipakai | Periksa | Tanda serangan tidak terlihat |
| DSM hanya dibuka dari LAN atau lewat VPN | Rendah | Penyerang butuh akses jaringan dulu. Tetap upgrade. |

NAS menyimpan berkas kerja dan backup, jadi satu NAS yang diambil alih bisa menghapus jalan pemulihan Anda. Pola yang sama muncul di celah SSL VPN SonicWall CVE-2026-19868: layanan yang terbuka ke internet menjadi target pertama. Celah SQL injection tanpa login juga muncul di celah SQL injection Craft CMS CVE-2026-123488.
Versi rentan dan versi aman
Advisory memakai 4 cabang DSM. Cocokkan cabang dan versi NAS Anda dengan tabel ini.
| Cabang DSM | Status per 12 November 2026 | Naik ke |
|---|---|---|
| DSM 7.4 | Lebih lama dari 7.4.1-90080-1: rentan | 7.4.1-90080-1 atau lebih baru |
| DSM 7.3, termasuk 7.3.1 | Lebih lama dari 7.3.2-86009-5: rentan | 7.3.2-86009-5 atau lebih baru |
| DSM 7.2.2 | Lebih lama dari 7.2.2-72806-10: rentan | 7.2.2-72806-10 atau lebih baru |
| DSM 7.2.1 | Lebih lama dari 7.2.1-69057-13: rentan | 7.2.1-69057-13 atau lebih baru |
| DSM 7.2.0, 7.1, 7.0, dan 6.x | Tidak tercantum di advisory, anggap rentan | Cabang di atas, bila model Anda mendukung |

Data tabel berasal dari advisory Synology-SA-26:19. Info Center menampilkan versi seperti "DSM 7.2.2-72806 Update 4". Angka "Update 4" sama dengan akhiran "-4" di advisory, jadi versi itu lebih lama dari 7.2.2-72806-10.
Catatan versi lama: Advisory tidak memuat DSM 7.2.0, 7.1, 7.0, dan 6.x. catatan CVE-2026-76954 menulis versi terdampak "unknown" di bawah 7.2.1. Analisa Rama Digital: anggap versi itu rentan, lalu cek di Download Center apakah model Anda bisa naik ke cabang yang tercantum.
Prasyarat sebelum mulai
- Akun di grup administrators untuk setiap NAS Synology, termasuk NAS backup dan NAS cabang.
- Akses ke Download Center Synology untuk model NAS Anda.
- Jendela maintenance. NAS restart saat DSM update, jadi folder bersama dan backup berhenti sebentar.
- Akses admin ke router kantor untuk memeriksa port forward dan UPnP.
- Daftar akun admin yang sah dan IP publik kantor atau VPN. Langkah 5 membutuhkan daftar ini.
Langkah 1: Cek versi DSM setiap NAS
Masuk ke DSM, lalu buka Control Panel > Info Center > General. Catat nama NAS dan baris DSM version. Panduan resmi ada di KB Synology tentang Info Center.
Untuk banyak NAS, simpan skrip ini sebagai cek-versi-dsm.sh. Skrip membandingkan versi dengan tabel advisory dan mencetak versi tujuan. Mode daftar tidak menghubungi NAS.
#!/usr/bin/env bash
# Cek versi DSM terhadap advisory Synology-SA-26:19 (CVE-2026-76954 dan CVE-2026-85101).
# Data: advisory Synology 10 November 2026. Skrip hanya membaca teks dan tidak menghubungi NAS.
# Pakai di laptop: bash cek-versi-dsm.sh "NAS-kantor DSM 7.2.2-72806 Update 4"
# atau: bash cek-versi-dsm.sh < daftar-nas.txt (1 NAS per baris: nama, lalu versi dari Info Center)
# Pakai di NAS lewat SSH: bash cek-versi-dsm.sh --nas (membaca /etc.defaults/VERSION)
# "Update 4" di Info Center sama dengan akhiran "-4" di advisory.
set -u
# Build pertama yang aman untuk setiap cabang DSM menurut advisory.
aman_untuk() {
case "$1" in
7.4.*) echo "7.4.1-90080-1" ;;
7.3.*) echo "7.3.2-86009-5" ;;
7.2.2) echo "7.2.2-72806-10" ;;
7.2.1) echo "7.2.1-69057-13" ;;
*) echo "" ;;
esac
}
# Benar bila versi $1 lebih rendah dari versi $2. Tanda "-" diganti "." agar sort -V membaca versi, build, lalu update.
lebih_rendah() {
local a="${1//-/.}" b="${2//-/.}"
[ "$a" != "$b" ] && [ "$(printf '%s\n%s\n' "$a" "$b" | sort -V | head -n 1)" = "$a" ]
}
judul() { printf '%-14s %-16s %s\n' "NAS" "VERSI" "STATUS"; }
# $1 nama, $2 versi produk (7.2.2), $3 build (72806), $4 update (4)
nilai() {
local nama="${1:--}" p="$2" b="$3" u="$4" v aman status naik=""
[[ $p =~ ^[0-9]+\.[0-9]+$ ]] && p="$p.0"
if [[ ! $p =~ ^[0-9]+\.[0-9]+\.[0-9]+$ || ! $b =~ ^[0-9]+$ || ! $u =~ ^[0-9]+$ ]]; then
printf '%-14s %-16s %s\n' "$nama" "-" "TIDAK DIKENAL, cocokkan manual dengan advisory SA-26:19"
return 0
fi
v="$p-$b-$u"
aman=$(aman_untuk "$p")
if [ -n "$aman" ]; then
if lebih_rendah "$v" "$aman"; then
status="RENTAN (SA-26:19)"; naik="$aman atau lebih baru"
else
status="AMAN untuk SA-26:19"
fi
else
case "$p" in
7.2.0|7.1.*|7.0.*|6.*)
status="TIDAK TERCANTUM, anggap rentan"
naik="cabang di advisory, bila model Anda mendukung" ;;
*)
status="TIDAK DIKENAL, cocokkan manual dengan advisory SA-26:19" ;;
esac
fi
printf '%-14s %-16s %s\n' "$nama" "$v" "$status"
[ -n "$naik" ] && printf '%-14s %-16s -> naik ke %s\n' "" "" "$naik"
return 0
}
# Baca 1 baris teks: nama NAS, lalu versi seperti "DSM 7.2.2-72806 Update 4" atau "7.2.2-72806-4".
baris() {
local teks nama
# Buang karakter kontrol dan batasi panjang, agar isi berkas tidak bisa mengubah tampilan terminal.
teks=$(printf '%s' "$1" | tr -cd '[:alnum:] ._-' | cut -c1-80)
[ -z "${teks// /}" ] && return 0
if [[ $teks =~ ([0-9]+\.[0-9]+(\.[0-9]+)?)-([0-9]+)(-([0-9]+)|[[:space:]]+[Uu]pdate[[:space:]]+([0-9]+))? ]]; then
nama=${teks%%"${BASH_REMATCH[0]}"*}
nama=$(printf '%s' "$nama" | sed -E 's/(^| )DSM( |$)/ /g; s/ +/ /g; s/^ //; s/ $//' | cut -c1-14)
nilai "$nama" "${BASH_REMATCH[1]}" "${BASH_REMATCH[3]}" "${BASH_REMATCH[5]:-${BASH_REMATCH[6]:-0}}"
else
printf '%-14s %-16s %s\n' "$(printf '%s' "$teks" | cut -c1-14)" "-" "TIDAK DIKENAL, cocokkan manual dengan advisory SA-26:19"
fi
}
if [ "${1:-}" = "--nas" ]; then
f=/etc.defaults/VERSION
[ -r "$f" ] || { echo "Berkas $f tidak terbaca. Jalankan mode --nas di NAS lewat SSH."; exit 1; }
ambil() { sed -n "s/^$1=\"\{0,1\}\([^\"]*\)\"\{0,1\}\$/\1/p" "$f" | head -n 1 | tr -cd '[:alnum:]._-' | cut -c1-20; }
p=$(ambil productversion); b=$(ambil buildnumber); u=$(ambil smallfixnumber)
[ -z "$p" ] && p="$(ambil majorversion).$(ambil minorversion)"
judul
nilai "$(hostname | tr -cd '[:alnum:]._-' | cut -c1-14)" "$p" "$b" "${u:-0}"
exit 0
fi
judul
if (( $# > 0 )); then
for x in "$@"; do baris "$x"; done
else
while IFS= read -r x || [ -n "$x" ]; do baris "$x"; done
fi
Tulis 1 NAS per baris: nama, lalu versi dari Info Center. Contoh isi berkas dengan data dummy:
NAS-kantor DSM 7.2.2-72806 Update 4
NAS-arsip DSM 7.3.2-86009 Update 3
NAS-foto DSM 7.4.1-90080 Update 1
NAS-backup DSM 7.2.1-69057 Update 13
NAS-gudang DSM 7.1.1-42962 Update 9
NAS-cabang DSM 7.2.2-72806 Update 11
# 1 NAS per baris: nama, lalu versi dari Control Panel > Info Center > General
nano daftar-nas.txt
bash cek-versi-dsm.sh < daftar-nas.txt
# Atau langsung sebagai argumen
bash cek-versi-dsm.sh "NAS-kantor DSM 7.2.2-72806 Update 4"
# Di NAS lewat SSH: skrip membaca versi dari /etc.defaults/VERSION
bash cek-versi-dsm.sh --nas

Cek hasil: "RENTAN" berarti NAS butuh langkah 2 dan 3 hari ini. "AMAN untuk SA-26:19" berarti versi sudah menutup kedua CVE, tetapi tetap jalankan langkah 5. "TIDAK TERCANTUM" berarti advisory tidak membahas cabang itu, jadi anggap rentan.
Mode --nas membaca /etc.defaults/VERSION di NAS lewat SSH. Analisa Rama Digital: kami menguji nama kunci productversion, buildnumber, dan smallfixnumber pada berkas dummy, bukan NAS asli. Bila hasil mode ini berbeda dengan Info Center, pakai angka Info Center.
Langkah 2: Backup sebelum upgrade
Menurut KB Synology tentang DSM Update, update DSM tidak bisa dibatalkan. Jadi backup adalah jalan kembali Anda.
- Buka Control Panel > Update & Restore > Configuration Backup, lalu ekspor konfigurasi DSM ke laptop.
- Jalankan tugas Hyper Backup untuk folder bersama yang penting, atau buat snapshot bila NAS memakai Snapshot Replication.
- Simpan salinan backup di luar NAS ini. Beri nama dengan tanggal, model, dan versi DSM.
- Catat anggota grup administrators dan daftar tugas di Task Scheduler. Langkah 5 membutuhkan daftar ini.
Cek hasil: berkas konfigurasi ada di laptop, dan tugas Hyper Backup terakhir berstatus berhasil.
Langkah 3: Upgrade ke build aman
Hanya build dari Synology yang menutup kedua celah. Advisory menulis mitigasi: None.
- Buka Control Panel > Update & Restore > DSM Update. Bila DSM menampilkan update baru, unduh dan pasang update itu.
- Bila update tidak tampil, unduh berkas DSM untuk model Anda dari Download Center Synology.
- Klik Manual DSM Update, klik Browse, pilih berkas itu, lalu ikuti petunjuk di layar.
- Tunggu NAS restart. Jangan matikan daya selama update.
- Sesudah restart, buka lagi Info Center, lalu jalankan
cek-versi-dsm.shdengan versi baru.

Cek hasil: skrip mencetak "AMAN untuk SA-26:19" untuk setiap NAS, termasuk NAS backup.
KB Synology tentang DSM Update juga memuat opsi Automatically install important updates di Update Settings. Rekomendasi Rama Digital: aktifkan opsi itu untuk NAS yang tidak punya admin harian, lalu tetap cek versinya dengan langkah 1.
Langkah 4: Pasang mitigasi sementara sampai upgrade selesai
Langkah ini mengurangi peluang serangan, tetapi tidak menutup celah.
Analisa Rama Digital: Synology menulis mitigasi: None. Kami menyusun 3 langkah dari fitur standar DSM. Kondisi: upgrade belum bisa jalan hari ini, atau model Anda tidak mendapat build aman. Batas: penyerang dari jaringan yang Anda izinkan tetap bisa memakai celah ini.
4a. Tutup akses DSM dari internet
Hapus port forward ke 5000 dan 5001 di router kantor, lalu matikan UPnP bila tidak dipakai. Cek aturan yang DSM buat di Control Panel > External Access > Router Configuration sesuai KB Synology tentang Router Configuration. Matikan juga QuickConnect di Control Panel > External Access > QuickConnect sesuai KB Synology tentang QuickConnect.
4b. Izinkan hanya IP LAN dan VPN di firewall DSM
Buka Control Panel > Security > Firewall, centang aktifkan firewall, lalu buat aturan Allow untuk subnet LAN dan subnet VPN. Pilih Deny untuk permintaan yang tidak cocok dengan aturan. Langkah ini ada di KB Synology tentang Firewall.
Aktifkan juga Auto Block di Control Panel > Security > Protection. Menurut KB Synology tentang Auto Block, Auto Block memblokir IP publik yang gagal login berulang di DSM, SSH, dan rsync.
4c. Matikan rsync bila tidak dipakai
CVE-2026-85101 ada di layanan rsync. Bila NAS tidak menjadi tujuan backup rsync, buka Control Panel > File Services > rsync lalu hapus centang layanan rsync. Bila rsync tetap perlu, batasi user di Application Privileges > rsync dan izinkan port 873 hanya dari IP sumber backup, sesuai KB Synology tentang rsync.
Cek hasil: halaman login DSM tidak terbuka dari jaringan seluler, QuickConnect mati, dan port 873 tidak menjawab dari luar kantor.
Langkah 5: Cari tanda NAS diambil alih
Upgrade menutup celah, tetapi tidak membuang akun, jadwal, atau berkas yang penyerang tinggalkan. Jadi cari jejak itu sesudah upgrade.
Analisa Rama Digital: Synology belum menerbitkan IOC, dan serangan sebelum login bisa tidak meninggalkan log login. Karena itu skrip mencari jejak sesudah serangan: admin asing, jadwal di luar KB Synology tentang Task Scheduler, skrip baru di folder web, dan login dari IP asing.
Skrip ini berjalan di NAS lewat SSH. Aktifkan SSH sementara di Control Panel > Terminal & SNMP > Terminal, lalu matikan lagi sesudah cek. Menurut KB Synology tentang Terminal, hanya akun di grup administrators yang bisa login SSH, lalu menjadi root dengan sudo -i.
Simpan skrip ini sebagai cek-tanda-dsm.sh. Skrip hanya membaca berkas. Skrip tidak mengubah, menghapus, atau mengirim apa pun.
#!/usr/bin/env bash
# Cari tanda NAS diambil alih sesudah CVE-2026-76954 dan CVE-2026-85101 (Synology-SA-26:19).
# Synology belum merilis IOC. Pemeriksaan ini adalah analisa Rama Digital: admin yang tidak dikenal,
# jadwal di luar Task Scheduler, skrip baru di folder web dan folder sementara, dan login dari IP asing.
# Pakai di NAS lewat SSH: sudo bash cek-tanda-dsm.sh [LOG-KONEKSI.csv]
# ADMIN_SAH="admin-it rina" akun admin yang Anda kenal
# IP_SAH="198.51.100.10" IP publik kantor atau VPN Anda
# HARI=14 rentang hari untuk berkas baru
# Skrip hanya membaca berkas. Skrip tidak mengubah, menghapus, atau mengirim apa pun.
set -u
ADMIN="${ADMIN_SAH:-}"; IPS="${IP_SAH:-}"; HARI="${HARI:-14}"; LOG="${1:-}"
[[ $HARI =~ ^[0-9]+$ ]] || HARI=14
temuan=0
# Buang karakter kontrol dan batasi panjang baris, agar isi berkas tidak bisa mengubah tampilan terminal.
bersih() { tr -cd '[:print:]\n' | cut -c1-110; }
ada_di() { [[ " $2 " == *" $1 "* ]]; }
echo "== 1. Anggota grup administrators"
anggota=$(sed -n 's/^administrators:[^:]*:[^:]*://p' /etc/group 2>/dev/null | head -n 1 | tr ',' ' ' | bersih)
[ -z "${anggota// /}" ] && echo "Grup administrators kosong atau tidak terbaca."
read -r -a daftar <<< "$anggota"
for a in "${daftar[@]}"; do
if [ -z "$ADMIN" ]; then echo "$a"
elif ada_di "$a" "$ADMIN"; then echo "$a dikenal"
else echo "PERIKSA: $a tidak ada di ADMIN_SAH"; temuan=$((temuan + 1)); fi
done
[ -z "$ADMIN" ] && echo "Catatan: isi ADMIN_SAH agar skrip bisa membandingkan."
echo "== 2. Jadwal di /etc/crontab di luar DSM dan Task Scheduler"
if [ -r /etc/crontab ]; then
t=0; n=0
pola='^/usr/syno/s?bin/[A-Za-z0-9_.-]+( [A-Za-z0-9_=.,:/-]+)*$'
while IFS= read -r b; do
b=$(printf '%s' "$b" | tr '\t' ' ' | tr -cd '[:print:]')
[[ $b =~ ^[[:space:]]*($|#|[A-Za-z_]+=) ]] && continue
t=$((t + 1))
perintah=$(printf '%s\n' "$b" | awk '{ for (i = 7; i <= NF; i++) printf "%s%s", $i, (i < NF ? " " : "") }')
# Hanya program DSM dengan argumen biasa yang lolos. Tanda ; | & $ > atau .. ditandai.
if [[ $perintah =~ $pola && $perintah != *..* ]]; then :
else s=$(printf '%s' "$b" | cut -c1-110); [ ${#b} -gt 110 ] && s="$s ..."
echo "PERIKSA: $s"; n=$((n + 1)); fi
done < /etc/crontab
echo "$t baris jadwal: $((t - n)) dari DSM atau Task Scheduler, $n di luar itu"
temuan=$((temuan + n))
else
echo "/etc/crontab tidak terbaca. Jalankan skrip dengan sudo."
fi
echo "== 3. Skrip baru di folder web dan folder sementara ($HARI hari terakhir)"
n=0
for d in /volume*/web /tmp /var/tmp; do
[ -d "$d" ] || continue
while IFS= read -r f; do
echo "PERIKSA: $(date -r "$f" '+%F %H:%M') $(printf '%s' "$f" | bersih)"
n=$((n + 1))
done < <(find "$d" -xdev -type f -mtime -"$HARI" \( -name '*.php' -o -name '*.sh' -o -name '*.cgi' \
-o -name '*.py' -o -name '*.pl' -o -name '*.so' \) 2>/dev/null | head -n 50)
done
(( n == 0 )) && echo "Tidak ada"
temuan=$((temuan + n))
echo "== 4. Login DSM dari log koneksi"
if [ -z "$LOG" ]; then
echo "Belum diperiksa. Ekspor log koneksi dari Log Center sebagai CSV, lalu jalankan lagi dengan berkas itu."
elif [ ! -r "$LOG" ]; then
echo "Berkas $(printf '%s' "$LOG" | bersih) tidak terbaca."
else
ok=$(grep -i 'signed in to' "$LOG" | grep -iv 'failed' \
| sed -nE 's/.*User \[([^]]*)\] from \[([^]]*)\].*/\1 \2/p' | tr -cd '[:alnum:] .:@_\n-' | cut -c1-80)
if [ -z "$ok" ]; then
echo "Tidak ada login berhasil di berkas ini. Cocokkan kata \"signed in\" dengan ekspor Anda."
else
echo "Login berhasil per user dan IP:"
printf '%s\n' "$ok" | sort | uniq -c | sort -rn | head -n 10
if [ -z "$IPS" ]; then
echo "Catatan: isi IP_SAH agar skrip bisa menandai IP asing."
else
n=0
while read -r u ip; do
ada_di "$ip" "$IPS" && continue
echo "PERIKSA: $u login dari $ip, IP ini tidak ada di IP_SAH"; n=$((n + 1))
done < <(printf '%s\n' "$ok" | sort -u)
temuan=$((temuan + n))
fi
fi
gagal=$(grep -ic 'failed to sign in' "$LOG"); blok=$(grep -ic 'was blocked' "$LOG")
echo "Login gagal: $gagal. Host diblokir Auto Block: $blok."
fi
if (( temuan > 0 )); then
echo "Hasil: ADA TEMUAN ($temuan). Periksa setiap baris PERIKSA. Baris yang tidak Anda kenal: putus NAS dari internet."
else
echo "Hasil: tidak ada temuan. Hasil bersih tidak membuktikan NAS bersih."
fi
Ekspor log koneksi dari Log Center sebagai CSV. Menurut KB Synology tentang Log Center, Log Center bisa mengekspor log ke HTML atau CSV. Contoh 3 baris pertama berkas CSV dengan data dummy:
Level,Time,User,Event
Info,2026/11/11 08:02:11,admin-it,"User [admin-it] from [198.51.100.10] signed in to [DSM] successfully via [password]."
Info,2026/11/11 09:15:40,rina,"User [rina] from [198.51.100.11] signed in to [DSM] successfully via [password]."
# 1. Masuk ke NAS lewat SSH dengan akun di grup administrators, lalu jadi root
sudo -i
# 2. Pindah ke folder tempat Anda menyimpan skrip dan ekspor CSV, lalu jalankan
ADMIN_SAH="admin-it rina" IP_SAH="198.51.100.10 198.51.100.11" bash cek-tanda-dsm.sh koneksi-dsm.csv

Batas skrip: Skrip membaca teks pesan seperti "signed in to" dan "failed to sign in", bukan nama kolom. Kami menguji pola pesan itu pada log dummy, bukan ekspor NAS asli. Baris crontab yang sah di luar /usr/syno, atau dengan tanda seperti ; dan >, juga tampil sebagai PERIKSA. Cek ini tidak menemukan program baru yang penyerang taruh di /usr/syno/bin.
Untuk pola login 14 hari, buka Security Advisor lalu pakai Login Analysis sesuai KB Synology tentang Login Analysis. Fitur ini butuh data 14 hari.

Cek hasil: "tidak ada temuan" berarti skrip tidak menemukan tanda. Hasil bersih tidak membuktikan NAS bersih. "ADA TEMUAN" berarti periksa setiap baris PERIKSA, lalu ikuti urutan dari panduan ransomware Synology ini untuk baris yang tidak Anda kenal:
- Putus NAS dari internet. Matikan daya hanya bila perlu, karena data di memori ikut hilang.
- Buat log sistem dari Support Center sebelum Anda mengubah apa pun.
- Jangan hapus akun atau berkas asing sebelum log tersimpan.
- Hubungi Synology Support dengan log itu.
- Upgrade DSM, lalu ganti password semua akun di NAS.
- Pulihkan data dari backup atau snapshot yang bersih. Pertimbangkan instal ulang DSM.
Bila data pribadi bocor, UU 27/2022 tentang Pelindungan Data Pribadi mewajibkan pemberitahuan tertulis paling lambat 3 kali 24 jam. Baca juga panduan security, privacy, dan UU PDP untuk perusahaan.
Contoh: 1 pagi respons untuk 4 NAS
Simulasi ini memakai data dummy. Nama NAS, waktu, dan hasil bukan data pelanggan.
| Waktu (WIB) | NAS dummy | Yang dicek | Hasil | Tindakan |
|---|---|---|---|---|
| 08.00 | NAS-kantor (7.2.2-72806-4, port 5001 diteruskan) | Langkah 1 | RENTAN | Langkah 4a pagi ini, upgrade siang ini |
| 08.20 | NAS-arsip (7.3.2-86009-3, QuickConnect aktif) | Langkah 1 | RENTAN | Matikan QuickConnect, upgrade malam ini |
| 09.00 | NAS-kantor | Langkah 5 | svc-backup2 di grup administrators, login dari 203.0.113.45 | Putus dari internet, simpan log, hubungi Synology Support |
| 10.00 | NAS-gudang (7.1.1-42962-9) | Langkah 1 dan Download Center | TIDAK TERCANTUM | Akses hanya dari LAN, rencanakan upgrade atau ganti perangkat |
Pelajaran dari simulasi: password admin yang kuat tidak membuktikan NAS aman. NAS-kantor memakai password kuat, tetapi langkah 5 tetap menemukan admin yang tidak dikenal.
Siapa yang memasang patch
Tanggung jawab patch berbeda per cara pengelolaan, jadi tabel ini membantu Anda tahu siapa yang bergerak hari ini.
| Cara pengelolaan | Pemegang patch | Yang Anda kerjakan |
|---|---|---|
| NAS di kantor, dikelola tim IT sendiri | Tim IT Anda | Langkah 1 sampai 5 |
| NAS dikelola vendor IT atau MSP | Mitra sesuai kontrak | Minta bukti versi tertulis dan hasil langkah 5 |
| Update otomatis untuk update penting aktif | Synology mengirim build, tim Anda tetap memeriksa | Langkah 1 dan langkah 5 |
| NAS di rumah karyawan yang menyimpan data kantor | Pemilik NAS bersama tim IT | Langkah 1, 3, dan 4a |
Rekomendasi Rama Digital: jangan buka halaman login DSM ke internet. Pakai VPN untuk akses dari luar, dan simpan 1 salinan backup di luar NAS.
Checklist hari ini
- Buat daftar semua NAS Synology, termasuk NAS backup dan NAS cabang. Pemilik: tim IT. Bukti: daftar nama dan versi.
- Cek versi DSM dengan langkah 1. Pemilik: admin NAS. Bukti: output skrip.
- Backup konfigurasi dan data dengan langkah 2. Pemilik: admin NAS. Bukti: berkas konfigurasi dan status Hyper Backup.
- Tutup akses DSM dari internet dengan langkah 4a. Pemilik: admin jaringan. Bukti: daftar port forward di router.
- Upgrade ke build aman. Pemilik: admin NAS. Bukti: output skrip sesudah upgrade.
- Cari tanda dengan langkah 5. Pemilik: admin NAS. Bukti: output skrip dan ekspor log koneksi.
- Matikan rsync dan SSH yang tidak dipakai, walau tidak ada tanda.
Tanya jawab
NAS saya hanya dibuka dari jaringan kantor. Apakah saya aman?
Risiko Anda lebih rendah, tetapi tidak nol. Laptop yang terinfeksi di jaringan kantor bisa memakai celah ini karena celah tidak butuh login. Upgrade tetap wajib.
Saya memakai QuickConnect, bukan port forward. Apakah NAS saya terbuka?
Analisa Rama Digital: QuickConnect membuat DSM bisa dibuka dari internet tanpa port forward. Matikan QuickConnect sampai upgrade selesai, lalu pakai VPN untuk akses dari luar.
Belum ada laporan serangan. Kenapa saya harus upgrade hari ini?
Skor 9.8 dan celah bekerja tanpa login. Advisory sudah publik sejak 10 November 2026, jadi penyerang membaca informasi yang sama dengan Anda.
NAS saya memakai DSM 7.1 atau 6.2. Build mana yang saya pasang?
Advisory tidak memuat cabang itu, dan catatan CVE menulis status "unknown" di bawah 7.2.1. Cek Download Center untuk model Anda. Bila model tidak bisa naik ke 7.2.1 atau lebih baru, buka NAS hanya dari LAN dan rencanakan ganti perangkat.
Bisakah saya kembali ke versi lama bila update DSM bermasalah?
KB DSM Update menulis bahwa update tidak bisa dibatalkan. Karena itu, langkah 2 wajib sebelum upgrade.
Apakah mematikan rsync menutup CVE-2026-76954?
Tidak. Rsync hanya jalan untuk CVE-2026-85101. CVE-2026-76954 ada di Auth API DSM, jadi hanya upgrade yang menutupnya.
Apakah upgrade menghapus akses penyerang?
Upgrade menutup celah. Upgrade tidak menghapus admin, jadwal, atau berkas yang penyerang buat. Jalankan langkah 5, lalu ganti password semua akun.
Langkah berikutnya
Batas yang tetap berlaku: mitigasi di langkah 4 tidak menutup celah, dan upgrade tidak membersihkan NAS yang sudah diambil alih. Bila NAS Anda menunjukkan tanda di langkah 5, atau Anda butuh bantuan audit dan pemulihan, pakai Vibe Code Rescue. Untuk 1 kendala yang mendesak hari ini, jadwalkan sesi 30 menit.
Sumber
- advisory Synology-SA-26:19: ringkasan 2 CVE, skor Synology, CWE, cabang DSM terdampak, build aman, mitigasi None, dan revisi 1 tanggal 10 November 2026.
- catatan CVE-2026-76954 dan catatan CVE-2026-85101: deskripsi CNA, waktu terbit 12 November 2026 03.41 UTC, dan versi terdampak.
- CISA KEV: tidak memuat kedua CVE per 12 November 2026.
- KB Synology tentang Info Center, KB Synology tentang DSM Update, dan KB Synology tentang Terminal: jalur menu cek versi, update, dan SSH.
- KB Synology tentang Router Configuration, KB Synology tentang QuickConnect, KB Synology tentang Firewall, KB Synology tentang Auto Block, dan KB Synology tentang rsync: jalur menu mitigasi sementara.
- daftar port layanan Synology: port 5000, 5001, dan 873.
- KB Synology tentang Log Center, KB Synology tentang Login Analysis, KB Synology tentang Task Scheduler, dan panduan ransomware Synology: log, analisa login, jadwal, dan urutan respons.
- UU 27/2022 tentang Pelindungan Data Pribadi: kewajiban pemberitahuan kebocoran data pribadi.

