It appears this is caused by having a large number of rules on each of the cluster members. This causes the restart command on each box to take some time -- longer than the time provided to read the socket of just 5 seconds. To fix this, I changed the socket read time in /usr/bin/csf:702 as follows:
to
Which, alongside changing line 691's timeout value to 30 seconds now gives the server 30 seconds to respond.
If not a change for everyone, perhaps the timeout value could be configurable within csf.conf so those with larger rulesets don't run into this issue.
Note that most servers required about 15-20 seconds to process. I set it to 30 in case the server is under any amount of load.
-Jordan