Memahami apa yang sesungguhnya berubah di rsync 3.4.x (2025-2026): pengerasan keamanan besar-besaran, perbaikan perilaku --safe-links, perombakan internal parser argumen, cara memverifikasi versi dengan rsync --version, dan memastikan distro mem-backport fix.

Sepanjang series ini kalian diminta memakai rsync ≥3.4.4. Episode 17 menjawab pertanyaan yang belum tuntas: apa sebenarnya yang berubah di 3.4.x? Bukan sekadar "lebih aman" — ada keputusan desain internal yang memengaruhi cara rsync memproses argumen dan symlink. Memahami ini penting agar kalian tidak terkejut oleh perubahan perilaku saat upgrade.
Tiga pilar 3.4.x: pengerasan keamanan, perbaikan --safe-links, dan perombakan parser argumen. Mari kita bedah satu per satu.
| Rilis | Tanggal | Sifat |
|---|---|---|
| 3.4.0 | Januari 2025 | Security release besar — 33 CVE ditutup, termasuk 2 RCE |
| 3.4.1 | 2025 | Bugfix & regresi |
| 3.4.2 | 2025 | Bugfix lanjutan |
| 3.4.3 | 2025 | Security — CVE-2026-29518 (info leak) dll. |
| 3.4.4 | 8 Juni 2026 | Bugfix & security — CVE-2026-4361 dll. |
Garis besarnya: sejak 3.4.0, proyek rsync berpindah mode — dari "menambah fitur" menjadi "memperbaiki fondasi". Setiap rilis berikutnya menutup lubang baru yang ditemukan setelah rilis keamanan besar.
Pengerasan di 3.4.x menyentuh lapisan yang jarang terlihat:
Pelajaran terbesarnya: kode transfer berusia hampir 30 tahun membutuhkan pemeliharaan keamanan yang terus-menerus — dan itulah yang membuat versi patch terbaru menjadi wajib, bukan opsional.
--safe-links adalah opsi yang mengabaikan symlink yang menunjuk keluar dari direktori transfer (misalnya /etc/passwd atau ../../server-root). Tujuannya mencegah backup menarik file di luar pohon sumber.
Di 3.4.x, implementasi --safe-links dirombak karena versi lamanya bisa dilewati. Perilaku barunya lebih ketat dalam mendeteksi symlink absolut dan symlink dengan traversal ... Dampak bagi kalian: jika memakai --safe-links, ada kemungkinan symlink yang sebelumnya "lolos" kini diabaikan — periksa output backup setelah upgrade dan pastikan symlink yang sah (yang menunjuk ke dalam pohon) tetap ikut tersinkron.
Note
Setelah upgrade 3.3.x → 3.4.x, kebiasaan baiknya: jalankan rsync -avhn -i (episode 16) satu kali dan bandingkan output dengan hasil sebelumnya. Perubahan perilaku --safe-links dan filter biasanya terlihat jelas di situ.
Di balik layar, 3.4.x merombak parser argumen internal rsync. Ini bukan sekadar kosmetik: parser lama memiliki perilaku tidak konsisten dan celah keamanan pada cara menangani opsi. Perombakan membuat parsing lebih ketat, error lebih jelas, dan perilaku lebih dapat diprediksi.
Dampak yang mungkin kalian rasakan:
Jika skrip rsync lama tiba-tiba menampilkan error setelah upgrade, kemungkinan besar ini penyebabnya — parser sekarang menolak apa yang sebelumnya dimaafkan. Baca pesan errornya, perbaiki opsi, dan perbarui skrip.
Selain tiga pilar di atas, 3.4.x membawa perbaikan kualitas umum:
Tidak ada fitur besar baru — dan itu justru kabar baik. Rsync di 3.4.x adalah versi paling matang, paling aman, dan paling stabil dalam sejarahnya.
Cara memeriksa versi yang kalian pakai:
rsync --version | head -3rsync version 3.4.4 protocol version 31
Copyright (C) 1996-2026 by Andrew Tridgell, Wayne Davison, and others.
Web site: https://rsync.samba.org/Baris pertama memuat versi dan protocol version. Kebiasaan audit: kumpulkan versi semua server, bandingkan dengan rilis terbaru di download.samba.org/pub/rsync/NEWS.
Masalah klasik: distro LTS mengunci versi rsync lama dan menerapkan fix secara diam-diam (backport). Akibatnya, rsync --version masih mencetak 3.2.7, padahal secara keamanan sudah setara 3.4.x.
Cara memeriksa apakah distro kalian mem-backport:
apt changelog rsync # Debian/Ubuntu
dnf updateinfo list rsync # RHEL/FedoraJika changelog memuat entri CVE (CVE-2024-12084, dll.) di versi yang sama, distro mem-backport — aman. Jika tidak ada, dan versi masih lama, jangan berasumsi aman: build statis rsync ≥3.4.4 (dari source) atau instal paket dari repo terbaru.
Important
Aturan praktis yang aman: kepercayaan = versi ≥3.4.4 ATAU changelog distro yang jelas memuat semua CVE yang relevan. "Sudah ada di repo distro" saja tidak menjamin apa pun tanpa bukti backport.
Pada episode 17 ini, kalian telah memahami isi sebenarnya dari rsync 3.4.x.
Inti yang harus dibawa pulang:
--safe-links dirombak — perilaku lebih ketat; periksa backup setelah upgrade.rsync --version; pastikan distro benar-benar mem-backport fix.Di episode 18 selanjutnya, kita naik kelas: performance tuning untuk dataset besar — --whole-file untuk jaringan cepat vs delta untuk lambat, paralelisme dengan multiple rsync per shard, benchmark NIC/disk, serta studi kasus MongoDB/Postgres data dir, media library, dan dataset TB-level. Sampai jumpa di episode 18!