No connection limit on server creates fork bomb DoS vector #113
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Description
server_listen()callsaccept_loop()whichfork()s for every incoming connection with no limit. An attacker can open thousands of connections, causing a fork bomb that exhausts the process table and memory.Location
src/shared/transport_tcp.c:155-186 (accept_loop)
src/server/server.c
How to trigger
Connect repeatedly to the server port. Each connection spawns a new process via
fork(). No limit is enforced.Suggested Fix
--max-connections <n>(default e.g. 100) to the serverSIGCHLDhandler with a counterclose(fd)the new connection without forkingwaitpidin a loop in the signal handler)Severity
high
Category
security
Sub-Agent
security-screener (SC-2)
This issue was automatically generated by the issue-creator agent.
Fixed in PR #148 — merged into main on 2026-07-29. See #148