Reliable Datagram Sockets

From Wikipedia, the free encyclopedia
Reliable Datagram Sockets
Communication protocol
AbbreviationRDS
Developer(s)Oracle Corporation
IntroductionJune 9, 2009; 14 years ago (2009-06-09)
OSI layerTransport layer
Port(s)16385 (RDS-over-TCP)

Reliable Datagram Sockets (RDS) is a high-performance, low-latency, reliable, connectionless protocol for delivering datagrams. It is developed by Oracle Corporation.

It was included in the Linux kernel 2.6.30 which was released on 9 June 2009. The code was contributed by the OpenFabrics Alliance (OFA).[1]

On October 19, 2010, VSR announced CVE-2010-3904, a vulnerability within the Linux 2.6.30 kernel which could result in a local privilege escalation via the kernel's implementation of RDS.[2] This was subsequently fixed in Linux 2.6.36.[3]

On May 8, 2019, CVE-2019-11815 was published, regarding a race condition in the Linux RDS implementation that could lead to a use-after-free bug and possible arbitrary code execution.[4] The bug has been fixed in Linux 5.0.8.

Header[edit]

RDS Header
Size (bits) Name Description
be64 h_sequence Sequence number
be64 h_ack Sequence number of last received message
be32 h_len Length of the message payload
be16 h_sport Port on source node
be16 h_dport Port on destination node
8 h_flags Described below
8 h_credit Credits given (used for credit-based flow control)
32 h_padding Padding for 64-bit struct alignment
16 h_csum 1's complement header checksum
128 h_exthdr Optional extension header space

See also[edit]

References[edit]

  1. ^ "Linux 2 6 30 - Linux Kernel Newbies". Kernelnewbies.org. 2009-06-12. Retrieved 2015-10-11.
  2. ^ "VSR Security Advisory : Product Description". Vsecurity.com. Retrieved 2015-10-11.
  3. ^ "CVE-2010-3904". NIST National Vulnerability Database. Retrieved 2020-12-27.
  4. ^ "NVD - CVE-2019-11815". nvd.nist.gov. Retrieved 2019-05-14.

External links[edit]