From: Thomas Perale via buildroot <buildroot@buildroot.org>
To: Thomas Perale <thomas.perale@mind.be>
Cc: buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH] package/rsyslog: upstream patch CVE-2026-19654
Date: Fri, 4 Sep 2026 14:18:59 +0200 [thread overview]
Message-ID: <20260904121859.406369-1-thomas.perale@mind.be> (raw)
In-Reply-To: <20260826191159.711051-1-thomas.perale@mind.be>
In reply of:
> - CVE-2026-19654:
> A unauthenticated remote peer may lead rsyslogd to crash due to a flaw
> in the optional imptcp module. A crafted input sequence during
> oversize-frame recovery can cause an invalid internal message length
> and terminate rsyslogd. No confidentiality or integrity impact,
> privilege escalation, or code execution has been identified. imtcp and
> the default imptcp framing modes are not affected.
>
> For more information, see:
> - https://www.cve.org/CVERecord?id=CVE-2026-19654
> - https://github.com/rsyslog/rsyslog/commit/07b3c40a5a78c79ed9109251f842ca7e955dd586
>
> Signed-off-by: Thomas Perale <thomas.perale@mind.be>
Applied to 2025.02.x & 2026.05.x. Thanks
> ---
> ...rd-regex-framing-match-at-line-start.patch | 47 +++++++++++++++++++
> package/rsyslog/rsyslog.mk | 3 ++
> 2 files changed, 50 insertions(+)
> create mode 100644 package/rsyslog/0001-imptcp-guard-regex-framing-match-at-line-start.patch
>
> diff --git a/package/rsyslog/0001-imptcp-guard-regex-framing-match-at-line-start.patch b/package/rsyslog/0001-imptcp-guard-regex-framing-match-at-line-start.patch
> new file mode 100644
> index 0000000000..5eff609fdf
> --- /dev/null
> +++ b/package/rsyslog/0001-imptcp-guard-regex-framing-match-at-line-start.patch
> @@ -0,0 +1,47 @@
> +From 07b3c40a5a78c79ed9109251f842ca7e955dd586 Mon Sep 17 00:00:00 2001
> +From: Rainer Gerhards <rgerhards@adiscon.com>
> +Date: Mon, 20 Jul 2026 17:19:28 +0200
> +Subject: [PATCH] imptcp: guard regex framing match at line start
> +
> +Why
> +A regex match at the beginning of the receive buffer can form a
> +negative message length after oversize-frame recovery.
> +
> +Impact
> +Regex-framed imptcp listeners reject that invalid transition instead
> +of submitting a negative message length.
> +
> +Before/After
> +Before: a match with a zero line offset submitted an invalid length.
> +After: only a match following an existing line can submit a frame.
> +
> +Technical Overview
> +Mirror the line-offset guard used by the shared imtcp parser.
> +Leave existing regex framing and oversize recovery behavior unchanged.
> +
> +Security advisory:
> +https://github.com/rsyslog/rsyslog/security/advisories/GHSA-cj5r-wh2m-7w29
> +
> +Reported-by: Raphael Eikenberg (@eikendev)
> +With the help of AI-Agents: Codex
> +---
> +CVE: CVE-2026-19654
> +Upstream: https://github.com/rsyslog/rsyslog/commit/07b3c40a5a78c79ed9109251f842ca7e955dd586
> +Signed-off-by: Thomas Perale <thomas.perale@mind.be
> +---
> + plugins/imptcp/imptcp.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/plugins/imptcp/imptcp.c b/plugins/imptcp/imptcp.c
> +index 838e1648fc..90a7d6f7ed 100644
> +--- a/plugins/imptcp/imptcp.c
> ++++ b/plugins/imptcp/imptcp.c
> +@@ -1009,7 +1009,7 @@ static rsRetVal ATTR_NONNULL() processDataRcvd_regexFraming(ptcpsess_t *const __
> + pThis->iCurrLine = pThis->iMsg;
> + } else {
> + const int isMatch = !regexec(&inst->start_preg, (char *)pThis->pMsg + pThis->iCurrLine, 0, NULL, 0);
> +- if (isMatch) {
> ++ if (pThis->iCurrLine > 0 && isMatch) {
> + DBGPRINTF("regex match (%d), framing line: %s\n", pThis->iCurrLine, pThis->pMsg);
> + strcpy((char *)pThis->pMsg_save, (char *)pThis->pMsg + pThis->iCurrLine);
> + pThis->iMsg = pThis->iCurrLine - 1;
> diff --git a/package/rsyslog/rsyslog.mk b/package/rsyslog/rsyslog.mk
> index dedecdc572..bcc66167af 100644
> --- a/package/rsyslog/rsyslog.mk
> +++ b/package/rsyslog/rsyslog.mk
> @@ -12,6 +12,9 @@ RSYSLOG_CPE_ID_VENDOR = rsyslog
> RSYSLOG_DEPENDENCIES = zlib libestr liblogging libfastjson host-pkgconf
> RSYSLOG_CONF_ENV = ac_cv_prog_cc_c99='-std=c99'
>
> +# 0001-imptcp-guard-regex-framing-match-at-line-start.patch
> +RSYSLOG_IGNORE_CVES += CVE-2026-19654
> +
> ifeq ($(BR2_PACKAGE_RSYSLOG_EXTRA_PLUGINS),y)
> RSYSLOG_PLUGINS = imdiag imfile impstats imptcp \
> mmanon mmaudit mmfields mmjsonparse mmpstrucdata mmsequence mmutf8fix \
> --
> 2.55.0
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
prev parent reply other threads:[~2026-09-04 12:19 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-26 19:11 [Buildroot] [PATCH] package/rsyslog: upstream patch CVE-2026-19654 Thomas Perale via buildroot
2026-08-26 20:56 ` Julien Olivain via buildroot
2026-09-04 12:18 ` Thomas Perale via buildroot [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260904121859.406369-1-thomas.perale@mind.be \
--to=buildroot@buildroot.org \
--cc=thomas.perale@mind.be \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox