If you have any deny dcc { } blocks in the config file or spamfilters on the 'd' (dcc) target then the server can be crashed. This is true for many servers as there is a deny dcc { } block in the example configuration file (example.conf).
All U5 and U6 versions before January 28, 2022 are affected, so:
- UnrealIRCd 5.0.0 - 5.2.3
- UnrealIRCd 6.0.0 - 6.0.2-rc1
Apply hot-patch; no restart needed
*NIX users can fix this issue without needing to restart their IRC server. Windows users will have to upgrade (see next section).
Go to your UnrealIRCd installation directory and then run:
Code: Select all
./unrealircd hot-patch dcc_crash
The command from above is the recommended method. If instead you prefer to fiddle with patch files and know how to apply these, then they can be fetched, we have 4 variants: 6.0.x / 5.2.x / 5.0.5-5.0.9 / 5.0.0-5.0.4. Another alternative is to upgrade to 6.0.2 or 5.2.4 (see next).
Alternative: Upgrading
You can also choose to upgrade your entire UnrealIRCd. For example, because you want the latest UnrealIRCd 6 features, or because you are on Windows and cannot apply the hot-patch. For this we have released two new UnrealIRCd versions:
- UnrealIRCd 5.2.4: compared to previous release the only thing extra is the patch for the crash and a version bump
- UnrealIRCd 6.0.2: compared to previous release it contains lots of enhancements, fixes and of course also the patch for the crash and version bump
Code: Select all
./unrealircd upgrade
Verifying the server is now OK / Checking vulnerable / not vulnerable
As an IRCOp you can check on IRC whether the hot-patch has been applied successfully, or if you have upgraded OK, or if the server is still crashable (still has the bug). This is a good idea to check.
Run the command /MODULE -all and then search for the line about the message module (about 20 lines before the end of the output). There is a difference in the message module version number that can be seen (if you are IRCOp):
- Vulnerable versions (both UnrealIRCd 5 and UnrealIRCd 6) look like: *** message 5.0 - private message and notice - by UnrealIRCd Team
- Fixed version UnrealIRCd 5 looks like: *** message 5.2.4 - private message and notice - by UnrealIRCd Team
- Fixed version UnrealIRCd 6 looks like: *** message 6.0.2 - private message and notice - by UnrealIRCd Team
- If you don't see a version number then you are not an IRC Operator. You need to OPER up to see version numbers of modules.