Keamanan Siber
17 Sep 2026
5 min read
Close-on-Exec Menjadikan Pewarisan Descriptor sebagai Batas Eksplisit
Sebuah service membuka socket berprivilege, menjalankan program helper, dan mengharapkan helper hanya menerima standard input, output, serta error. Satu descriptor yang dibuat tanpa close-on-exec dapat melanggar batas tersebut secara diam-diam. Jika descriptor masih ada saat image program baru dipasang, helper mewarisi akses ke objek kernel meski credentials miliknya sendiri tidak akan dapat membuka objek itu. Linux memperlakukan kondisi ini sebagai pewarisan descriptor, bukan peristiwa otorisasi baru. Keputusan keamanan ketika objek dibuka sudah melekat pada descriptor. FD_CLOEXEC mengatur apakah otoritas yang sudah terbentuk itu melintasi execve() yang berhasil.