Rapid7 Vulnerability & Exploit Database

Reliable Datagram Sockets (RDS) rds_atomic_free_op NULL pointer dereference Privilege Escalation

Back to Search

Reliable Datagram Sockets (RDS) rds_atomic_free_op NULL pointer dereference Privilege Escalation



This module attempts to gain root privileges on Linux systems by abusing a NULL pointer dereference in the `rds_atomic_free_op` function in the Reliable Datagram Sockets (RDS) kernel module (rds.ko). Successful exploitation requires the RDS kernel module to be loaded. If the RDS module is not blacklisted (default); then it will be loaded automatically. This exploit supports 64-bit Ubuntu Linux systems, including distributions based on Ubuntu, such as Linux Mint and Zorin OS. Target offsets are available for: Ubuntu 16.04 kernels 4.4.0 <= 4.4.0-116-generic; and Ubuntu 16.04 kernels 4.8.0 <= 4.8.0-54-generic. This exploit does not bypass SMAP. Bypasses for SMEP and KASLR are included. Failed exploitation may crash the kernel. This module has been tested successfully on various 4.4 and 4.8 kernels.


  • Mohamed Ghannam
  • Jann Horn
  • wbowling
  • bcoles <bcoles@gmail.com>
  • nstarke






Module Options

To display the available options, load the module within the Metasploit console and run the commands 'show options' or 'show advanced':

msf > use exploit/linux/local/rds_atomic_free_op_null_pointer_deref_priv_esc
msf exploit(rds_atomic_free_op_null_pointer_deref_priv_esc) > show targets
msf exploit(rds_atomic_free_op_null_pointer_deref_priv_esc) > set TARGET < target-id >
msf exploit(rds_atomic_free_op_null_pointer_deref_priv_esc) > show options
    ...show and set options...
msf exploit(rds_atomic_free_op_null_pointer_deref_priv_esc) > exploit

Time is precious, so I don’t want to do something manually that I can automate. Leveraging the Metasploit Framework when automating any task keeps us from having to re-create the wheel as we can use the existing libraries and focus our efforts where it matters.

– Jim O’Gorman | President, Offensive Security