Backport patch to fix CVE-2026-3184.

References:
  https://nvd.nist.gov/vuln/detail/CVE-2026-3184

Upstream fix:
  
https://github.com/util-linux/util-linux/commit/8b29aeb081e297e48c4c1ac53d88ae07e1331984

Tested with ptest

Signed-off-by: Jakub Szczudlo <[email protected]>
---
 meta/recipes-core/util-linux/util-linux.inc   |  1 +
 .../util-linux/util-linux/CVE-2026-3184.patch | 63 +++++++++++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 meta/recipes-core/util-linux/util-linux/CVE-2026-3184.patch

diff --git a/meta/recipes-core/util-linux/util-linux.inc 
b/meta/recipes-core/util-linux/util-linux.inc
index aec8721ca3..fdc62acc74 100644
--- a/meta/recipes-core/util-linux/util-linux.inc
+++ b/meta/recipes-core/util-linux/util-linux.inc
@@ -20,6 +20,7 @@ SRC_URI = 
"${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-lin
            
file://0001-lsfd-mkfds-foreign-sockets-skip-when-lacking-sock_di.patch \
            
file://0001-ts-kill-decode-use-RTMIN-from-kill-L-instead-of-hard.patch \
            file://0001-tests-script-Disable-size-option-test.patch \
+           file://CVE-2026-3184.patch \
            "
 
 SRC_URI[sha256sum] = 
"f586e35d320ff537aab3ffeca37e9ecd482ccbe013590db4429a414d8aa6a728"
diff --git a/meta/recipes-core/util-linux/util-linux/CVE-2026-3184.patch 
b/meta/recipes-core/util-linux/util-linux/CVE-2026-3184.patch
new file mode 100644
index 0000000000..5db7fb97fc
--- /dev/null
+++ b/meta/recipes-core/util-linux/util-linux/CVE-2026-3184.patch
@@ -0,0 +1,63 @@
+From 8b29aeb081e297e48c4c1ac53d88ae07e1331984 Mon Sep 17 00:00:00 2001
+From: Karel Zak <[email protected]>
+Date: Thu, 19 Feb 2026 12:20:28 +0100
+Subject: [PATCH] login: use original FQDN for PAM_RHOST
+
+When login -h <remotehost> is invoked, init_remote_info() strips the
+local domain suffix from the hostname (FQDN to short name) before
+storing it in cxt->hostname. This truncated value is then used for
+PAM_RHOST, which can bypass pam_access host deny rules that match on
+the FQDN.
+
+Preserve the original -h hostname in a new cmd_hostname field and use
+it for PAM_RHOST, while keeping the truncated hostname for utmp/wtmp
+and logging unchanged.
+
+Note, the real-world impact is low -- login -h is only used by legacy
+telnet/rlogin daemons, and exploitation requires FQDN-specific
+pam_access rules on a system still using these obsolete services.
+
+Reported-by: Asim Viladi Oglu Manizada <[email protected]>
+Signed-off-by: Karel Zak <[email protected]>
+
+CVE: CVE-2026-3184
+Upstream-Status: Backport 
[https://github.com/util-linux/util-linux/commit/8b29aeb081e297e48c4c1ac53d88ae07e1331984]
+
+Signed-off-by: Jakub Szczudlo <[email protected]>
+---
+ login-utils/login.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/login-utils/login.c b/login-utils/login.c
+index 321f9d6..0c5c805 100644
+--- a/login-utils/login.c
++++ b/login-utils/login.c
+@@ -128,6 +128,7 @@ struct login_context {
+       char            *thishost;              /* this machine */
+       char            *thisdomain;            /* this machine's domain */
+       char            *hostname;              /* remote machine */
++      char            *cmd_hostname;          /* remote machine as specified 
on command line */
+       char            hostaddress[16];        /* remote address */
+ 
+       pid_t           pid;
+@@ -906,7 +907,7 @@ static pam_handle_t *init_loginpam(struct login_context 
*cxt)
+ 
+       /* hostname & tty are either set to NULL or their correct values,
+        * depending on how much we know. */
+-      rc = pam_set_item(pamh, PAM_RHOST, cxt->hostname);
++      rc = pam_set_item(pamh, PAM_RHOST, cxt->cmd_hostname);
+       if (is_pam_failure(rc))
+               loginpam_err(pamh, rc);
+ 
+@@ -1249,6 +1250,8 @@ static void init_remote_info(struct login_context *cxt, 
char *remotehost)
+ 
+       get_thishost(cxt, &domain);
+ 
++      cxt->cmd_hostname = xstrdup(remotehost);
++
+       if (domain && (p = strchr(remotehost, '.')) &&
+           strcasecmp(p + 1, domain) == 0)
+               *p = '\0';
+-- 
+2.34.1
+
-- 
2.34.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#243942): 
https://lists.openembedded.org/g/openembedded-core/message/243942
Mute This Topic: https://lists.openembedded.org/mt/120861521/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

  • [OE-core] [wrynose][PATC... Jakub Szczudlo (Nokia) via lists.openembedded.org

Reply via email to