What is CVE-2023-4785?
CVE-2023-4785 is a vulnerability classified as Uncaught Exception, affecting gRPC. This vulnerability is rated High, with a CVSS score of 7.5. Current sources do not report this vulnerability as exploited.
Note: This data is for reference and cybersecurity research purposes only.CyStack advises users not to use this information for unlawful purposes.
CVE-2023-4785 is a vulnerability classified as Uncaught Exception, affecting gRPC. This vulnerability is rated High, with a CVSS score of 7.5. Current sources do not report this vulnerability as exploited.
Lack of error handling in the TCP server in Google's gRPC starting version 1.23 on posix-compatible platforms (ex. Linux) allows an attacker to cause a denial of service by initiating a significant number of connections with the server. Note that gRPC C++ Python, and Ruby are affected, but gRPC Java, and Go are NOT affected.
1.53.0 through 1.53.1 are affected; the corresponding fix is 1.53.2.1.54.0 through 1.54.2 are affected; the corresponding fix is 1.54.3.1.55.0 through 1.55.2 are affected; the corresponding fix is 1.55.3.1.56.0 through 1.56.1 are affected; the corresponding fix is 1.56.2.grpc package. For the Python grpcio package, that advisory lists affected 1.53.x, 1.54.x, and 1.55.x branches with the corresponding fixes; the status of another Python branch should not be inferred.1.23 and version 1.57 as unaffected. The status of parallel or unlisted branches is not established by this evidence.The flaw is in the gRPC Core TCP server on POSIX-compatible platforms such as Linux. When an attacker actively creates a large number of connections, the server may encounter file descriptor exhaustion or fail to handle the resulting error condition, causing service degradation or loss of availability. The weakness is classified as CWE-248, involving an exception or error that is not handled correctly. The upstream fix work focuses on improving server handling when file descriptors are exhausted. The exact exception, triggering threshold, and detailed execution path are not established by the available evidence.
The attack is network reachable against an exposed gRPC TCP server. The supplied attack properties indicate that authentication is not required, no user interaction is required, and the attack condition is relatively simple to reach. The attacker must create a significant number of connections; the exact threshold is not established. The record marks public exploit as false, but it does not provide a complete current conclusion about real-world exploitation and does not identify a campaign, victim, or specific exploit.
A remote attacker can disrupt a gRPC TCP server by creating many connections, potentially exhausting resources and causing denial of service. The record does not establish a change in privilege or security scope. It does not establish code execution, data access, data modification, or privilege escalation. Organisationally, APIs or backend services that depend on the affected server may become unavailable, but the extent of disruption depends on the deployment architecture and failure isolation.
The flaw can reduce or eliminate the availability of gRPC TCP services when the server must process a large volume of connections.
1.53.2, 1.54.3, 1.55.3, or 1.56.2. Do not replace branch-specific guidance with an assumption that every later release has been verified.grpcio, use the corresponding fixed releases 1.53.2, 1.54.3, or 1.55.3 when the dependency falls within the branches listed by the advisory.grpc, verify the package in use and upgrade out of the affected ranges to the corresponding fixed release.CyStack VulnScan continuously discovers assets, validates vulnerabilities, and helps security teams prioritize remediation across the organization.
en