CVE-2021-37625 in Skytable
Summary
by MITRE • 08/06/2021
Skytable is an open source NoSQL database. In versions prior to 0.6.4 an incorrect check of return value of the accept function in the run-loop for a TCP socket/TLS socket/TCP+TLS multi-socket causes an early exit from the run loop that should continue infinitely unless terminated by a local user, effectively causing the whole database server to shut down. This has severe impact and can be used to easily cause DoS attacks without the need to use much bandwidth. The attack vectors include using an incomplete TLS connection for example by not providing the certificate for the connection and using a specially crafted TCP packet that triggers the application layer backoff algorithm.
Be aware that VulDB is the high quality source for vulnerability data.
Analysis
by VulDB Data Team • 08/10/2021
CVE-2021-37625 represents a critical denial of service vulnerability affecting Skytable database versions prior to 064. This flaw exists in the server's network handling logic where an improper return value check of the accept function within the main run loop creates a condition that prematurely terminates the database server's operational cycle. The vulnerability manifests when the server processes incoming TCP socket connections, TLS socket connections, or TCP+TLS multi-socket connections through its primary event loop. The technical implementation error stems from inadequate error handling in the accept system call processing, which should maintain continuous operation until explicit termination by authorized users. This improper validation causes the server to exit its run loop prematurely, resulting in complete service disruption. The vulnerability is classified under CWE-248 as an unchecked return value, specifically manifesting as an unchecked accept system call return value. From an operational perspective, this vulnerability presents a severe risk as it allows attackers to execute effective denial of service attacks with minimal resource consumption and bandwidth requirements. The attack vectors are particularly sophisticated as they can leverage incomplete TLS handshakes by omitting certificate provision, creating malformed TCP packets designed to trigger application layer backoff algorithms, or exploiting connection state inconsistencies. These attack methods exploit the server's failure to properly validate connection establishment outcomes before proceeding with normal operational flow. The impact extends beyond simple service interruption as it represents a fundamental failure in the server's connection management architecture, potentially allowing attackers to repeatedly disrupt database availability without requiring extensive computational resources or network bandwidth. The vulnerability's severity classification aligns with ATT&CK technique T1499.004 for network denial of service attacks, specifically targeting application layer services through improper error handling mechanisms. The flaw demonstrates a classic example of how inadequate error handling in network service applications can create complete system shutdown conditions, making it particularly dangerous in production environments where database availability is critical. Organizations running affected versions must implement immediate patching to address the return value validation issue in the accept function processing within the main server loop. The mitigation strategy should also include network-level protections such as connection rate limiting and monitoring for anomalous connection patterns that might indicate exploitation attempts. Additionally, implementing proper logging and alerting for unexpected server shutdowns or connection handling anomalies would provide early detection capabilities for potential exploitation of this vulnerability.