Reliable Datagram Sockets
Communication protocol
AbbreviationRDS
Developer(s)Oracle Corporation
IntroductionJune 9, 2009 (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 9th of 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.

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

References

  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.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.