Skip to content

ngircd

vrel-28 Security

This release includes 1 security fix for security teams reviewing exposed deployments.

Published 14d Communication & Email
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →
This release patches 1 known CVE

Topics

bsd c chat daemon internet-relay-chat irc
+6 more
ircd linux macos ngircd server unix

Affected surfaces

breaking_upgrade

ReleasePort's take

Moderate signal
editorial:auto 13d

The release fixes a CPU‑100% denial‑of‑service vulnerability triggered by data lacking a command terminator and adds several configuration and bugfix improvements.

Why it matters: Patches the DoS flaw that can consume 100 % CPU when malformed input lacks terminators; mitigates severe performance impact immediately.

Summary

AI summary

Updates https, https://github.com/ngircd/ngircd/issues, and [email protected] across a mixed release.

Changes in this release

Security Critical

Fixes CPU‑100% DoS caused by data without command terminator.

Fixes CPU‑100% DoS caused by data without command terminator.

Source: llm_adapter@2026-07-13

Confidence: high

Feature Medium

Adds `DefaultChannelModes` configuration option for automatic channel mode setting.

Adds `DefaultChannelModes` configuration option for automatic channel mode setting.

Source: llm_adapter@2026-07-13

Confidence: high

Bugfix Medium

Enforces `KICKLEN` and corrects excessive `TOPICLEN` advertising.

Enforces `KICKLEN` and corrects excessive `TOPICLEN` advertising.

Source: llm_adapter@2026-07-13

Confidence: high

Bugfix Medium

Ignores passwords for non‑password protected servers, preventing erroneous rejections.

Ignores passwords for non‑password protected servers, preventing erroneous rejections.

Source: llm_adapter@2026-07-13

Confidence: high

Bugfix Medium

Uses the last set value for `Listen` (global) and `Mask` (operator) configuration directives.

Uses the last set value for `Listen` (global) and `Mask` (operator) configuration directives.

Source: llm_adapter@2026-07-13

Confidence: high

Bugfix Medium

Replies with `ERR_NOSUCHCHANNEL` when `MODE` targets a non‑existent channel.

Replies with `ERR_NOSUCHCHANNEL` when `MODE` targets a non‑existent channel.

Source: llm_adapter@2026-07-13

Confidence: high

Full changelog

The next release of ngIRCda free, portable and lightweight Internet Relay Chat server for small or private networks – just landed: ngIRCd 28! 🎉

In this release, the most notable change is a fix for a bug that could result in a 100% CPU usage on a single core (DoS), which can be triggered on any connection. ngIRCd does not crash and keeps serving other connections, but can render the system slow and unstable because of the high CPU usage, until the malicious connection times out.

Therefore all users of ngIRCd are advised to upgrade to ngIRCd 28!

You can download ngIRCd 28 from the download section on our homepage at https://ngircd.barton.de (mirror: https://ngircd.sourceforge.io). The primary download locations are:

  • https://github.com/ngircd/ngircd/releases
  • https://ngircd.barton.de/pub/ngircd/

Please report any issues and glitches you find to the GitHub issue tracker (https://github.com/ngircd/ngircd/issues) and use the mailing list ([email protected]) and the #ngircd channel on IRC (irc://irc.barton.de/ngircd) for questions and discussions. Enhancements and additions to the documentation, manual pages and the homepage are welcome as well!

Thanks a lot to all contributors & testers!

And as usual: Happy IRC'ing!
Alex

What's Changed

The following noteworthy changes are listed in the NEWS file:

  • Truncate long KICK reasons and topics: KICKLEN is advertised in ISUPPORT but was not enforced. And TOPICLEN is advertised, but was so high it was guaranteed not to be fully sendable to other clients. Thanks to Valentin Lorentz [email protected]! Closes #339.

  • Properly disconnect clients that send data without a command terminator: A connection that sent 512 or more bytes (the maximum length of an IRC command) containing no CR or LF -- for example binary garbage or a TLS "ClientHello" accidentally (or deliberately) sent to a plain-text listening port -- was never processed and only closed after a timeout. And until then it kept the main loop busy-spinning pinning one CPU core at 100%! Thanks to James [email protected]! Closes #343.

  • Implement new configuration option DefaultChannelModes: This new configuration option lists channel modes that become automatically set on new channels on creation. Default: set no modes (like before). Closes #333.

  • Handle clients which erroneously send passwords for non-password protected servers by ignoring passwords when not configured/needed. Closes #332.

  • Use the last value set for Listen (Global) and Mask (Operator). Do not ignore newer configuration value, always use the latest value set.

  • MODE: Reply with ERR_NOSUCHCHANNEL when the target is a channel (#319): While it is common for IRC servers to use ERR_NOSUCHNICK instead of ERR_NOSUCHCHANNEL when a target can be either a channel or a nick, it seems every other IRCd but UnrealIRCd uses ERR_NOSUCHCHANNEL in this particular case.

And the ChangeLog has even more details and lists all the fixes, minor enhancements and tweaks.

New Contributors

  • @svmhdvn made their first contribution in https://github.com/ngircd/ngircd/pull/318
  • @osmarks made their first contribution in https://github.com/ngircd/ngircd/pull/320
  • @anzz1 made their first contribution in https://github.com/ngircd/ngircd/pull/334
  • @TheMiningTeamYT made their first contribution in https://github.com/ngircd/ngircd/pull/332
  • @bludot made their first contribution in https://github.com/ngircd/ngircd/pull/343

All Git commits: https://github.com/ngircd/ngircd/compare/rel-27...rel-28

Security Fixes

  • Fixes a denial‑of‑service bug that caused a single CPU core to run at 100 % when receiving malformed data without command terminators

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track ngircd

Get notified when new releases ship.

Sign up free

About ngircd

Portable and lightweight Internet Relay Chat server for small or private networks.

All releases →

Related context

Related tools

Beta — feedback welcome: [email protected]