CyberRota Analysis
AI-GeneratedThe rabbitmq-c library is vulnerable to a memory corruption issue due to improper handling of the connection.tune.frame_max value during the amqp_login() process, which can lead to denial of service and potential code execution. Attackers on the network can exploit this flaw, particularly against plaintext AMQP traffic, making it critical for users of rabbitmq-c versions prior to 0.16.0 to prioritize upgrading to the patched version. Organizations utilizing this library should assess their exposure and implement the necessary updates to mitigate risks.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
rabbitmq-c is a C-language AMQP client library for RabbitMQ. Prior to 0.16.0, a malicious AMQP server can send an undersized connection.tune.frame_max value during amqp_login(), and rabbitmq-c accepts the value in amqp_login_inner() in librabbitmq/amqp_socket.c. amqp_tune_connection() in librabbitmq/amqp_connection.c uses frame_max to reallocate the outbound buffer without enforcing AMQP_FRAME_MIN_SIZE. Immediate serialization of connection.tune-ok through amqp_frame_to_bytes() writes beyond the undersized heap allocation, causing memory corruption and likely denial of service. An on-path attacker can also trigger the flaw against plaintext AMQP traffic. Code execution is theoretically possible but was not demonstrated. This issue is fixed in version 0.16.0.