Opened 3 weeks ago

Closed 2 weeks ago

#5983 closed enhancement (fixed)

glibc-2.44

Reported by: Xi Ruoyao Owned by: SecurityAdvisory
Priority: high Milestone: 13.1
Component: Book Version: git
Severity: normal Keywords:
Cc:

Description

New minor version with CVE-2026-6368, CVE-2026-6791, CVE-2026-6238, CVE-2026-5435 fixes.

Change History (24)

comment:1 by Xi Ruoyao, 3 weeks ago

tst-ldconfig-cache fails with rootsbindir=/usr/sbin: https://sourceware.org/pipermail/libc-alpha/2026-July/179160.html

comment:2 by Bruce Dubbs, 3 weeks ago

I could not find CVE-2026-6368 or CVE-2026-6791.
CVE-2026-6238 is rated MEDIUM.
CVE-2026-5435 is rared HIGH.

I note that CVE-2026-5435 was published at the end of April.

in reply to:  1 comment:3 by Bruce Dubbs, 3 weeks ago

Replying to Xi Ruoyao:

tst-ldconfig-cache fails with rootsbindir=/usr/sbin: https://sourceware.org/pipermail/libc-alpha/2026-July/179160.html

Hmm, In chapter 8 we have

echo "rootsbindir=/usr/sbin" > configparms

Do we really need that? In 4.2. Creating a Limited Directory Layout in the LFS Filesystem we have:

for i in bin lib sbin; do
  ln -sv usr/$i $LFS/$i
done

Removing the rootsbindir line should fix the test failure.

comment:4 by Xi Ruoyao, 3 weeks ago

Some package management users said installing into /sbin will break their package manager, IIRC. Thus in the book we have a lot of this kind of thing.

comment:5 by Bruce Dubbs, 3 weeks ago

Then perhaps this command should be in a note and not a part of the default build.

comment:6 by Xi Ruoyao, 3 weeks ago

The problem is jhalfs supports (supported? I don't remember if it still does so today) package management and it cannot take things in a note.

comment:7 by Xi Ruoyao, 3 weeks ago

Anyway we have a more serious issue: https://sourceware.org/pipermail/libc-alpha/2026-July/179161.html

To be clear this is not a test-suite-only issue: the compiled m4 binary really have the infinite recursing posix_spawn_file_actions_addchdir_np function.

comment:8 by Bruce Dubbs, 3 weeks ago

I was not planning on starting the next LFS update until next Wednesday, so hopefully we should get some resolution, or at least a work around, by then.

comment:9 by Joe Locash, 3 weeks ago

From https://www.openwall.com/lists/oss-security/2026/07/25/1

Security related changes:

The following CVEs were fixed in this release, details of which can be
found in the advisories directory of the release tarball:

   GLIBC-SA-2026-0005:
     gethostbyaddr and gethostbyaddr_r may incorrectly handle DNS
     response (CVE-2026-4437)

   GLIBC-SA-2026-0006:
     gethostbyaddr and gethostbyaddr_r return invalid DNS hostnames
     (CVE-2026-4438)

   GLIBC-SA-2026-0007:
     iconv crash due to assertion failure with untrusted input
     (CVE-2026-4046)

in reply to:  9 comment:10 by Xi Ruoyao, 3 weeks ago

Replying to Joe Locash:

From https://www.openwall.com/lists/oss-security/2026/07/25/1

Security related changes:

The following CVEs were fixed in this release, details of which can be
found in the advisories directory of the release tarball:

   GLIBC-SA-2026-0005:
     gethostbyaddr and gethostbyaddr_r may incorrectly handle DNS
     response (CVE-2026-4437)

   GLIBC-SA-2026-0006:
     gethostbyaddr and gethostbyaddr_r return invalid DNS hostnames
     (CVE-2026-4438)

   GLIBC-SA-2026-0007:
     iconv crash due to assertion failure with untrusted input
     (CVE-2026-4046)

The list is incomplete and these three are already fixed by glibc-2.43-upstream_fixes-1.patch in the book. See the list in description for security issues fixed in 2.44 but not covered by the patch.

in reply to:  6 comment:11 by pierre, 3 weeks ago

Replying to Xi Ruoyao:

The problem is jhalfs supports (supported? I don't remember if it still does so today) package management and it cannot take things in a note.

Sure jhalfs cannot read a note. But for this case, I think anyway package management is done with "ad hoc" instructions generated by lfs.xsl. And lfs.xsl is written by a human who can read a note (although more than often this human is distracted and may miss it :)

So if removing rootsbindir setting is needed, just go for it.

in reply to:  7 ; comment:12 by Xi Ruoyao, 3 weeks ago

Replying to Xi Ruoyao:

Anyway we have a more serious issue: https://sourceware.org/pipermail/libc-alpha/2026-July/179161.html

To be clear this is not a test-suite-only issue: the compiled m4 binary really have the infinite recursing posix_spawn_file_actions_addchdir_np function.

Adding ac_cv_func_posix_spawn_file_actions_addchdir=yes to m4, gettext, and bison is enough for LFS. Maybe there are more cases in BLFS. Perhaps adding it into $LFS/usr/share/config.site as a big hammer would be better.

Last edited 3 weeks ago by Xi Ruoyao (previous) (diff)

in reply to:  12 comment:13 by Bruce Dubbs, 3 weeks ago

Replying to Xi Ruoyao:

Adding ac_cv_func_posix_spawn_file_actions_addchdir=yes to m4, gettext, and bison is enough for LFS. Maybe there are more cases in BLFS. Perhaps adding it into $LFS/usr/share/config.site as a big hammer would be better.

I'll give that a try when I start testing.

comment:14 by Xi Ruoyao, 3 weeks ago

We should add $LFS/usr/share/config.site at the end of ch.05 glibc if we use this workaround. Adding it earlier may cause issues with binutils & gcc pass 1 as they runs on the host distro with the host glibc, not the LFS one.

Even in ch. 06 we still have host builds for File and Ncurses, fortunately they don't check ac_cv_func_posix_spawn_file_actions_addchdir. If we want technical correctness we can env -u CONFIG_SITE for the host build of File and Ncurses.

comment:15 by Xi Ruoyao, 3 weeks ago

There's another affected probe ac_cv_func_posix_spawn_file_actions_addfchdir (an additional f). It seems not used in LFS but perhaps it's used in BLFS, so for simplicity we can just put it into config.site too.

Last edited 3 weeks ago by Xi Ruoyao (previous) (diff)

comment:16 by Bruce Dubbs, 3 weeks ago

How about the beginning of '6.2. M4-1.4.21'?

<para>

Ensure packages that use gnulib detect some newer functions found in glibc-2.44.

</para>

cat > $LFS/usr/share/config.site << EOF
ac_cv_func_posix_spawn_file_actions_addchdir=yes
ac_cv_func_posix_spawn_file_actions_addfchdir=yes
EOF

comment:17 by Xi Ruoyao, 3 weeks ago

Yes, something like that.

comment:18 by Xi Ruoyao, 3 weeks ago

I'd still put it at the end of ch.05 glibc as in the future maybe M4 is fixed while the others are not, then putting it in M4 would seem out-of-place.

comment:19 by Bruce Dubbs, 3 weeks ago

I just ran a full lfs build with all tests. I used the above $LFS/usr/share/config.site install and looked for FAILs. I found:

glibc     documented io/tst-lchmod
binutils  documented tmpdir/gp-gmon
acl       documented test/cp.run
findutils undocumented test-regex-el
groff     documented neqn-smoke-test.sh
tar       documented capabilities: binary store/restore
systemd   documented core - systemd:test-namespace
          documented test - systemd:test-chase
          documented test - systemd:test-copy
          undocumented tmpfiles - systemd:test-systemd-tmpfiles

gcc is a bunch of unexpected gcc (38/~400,000) and g++ (66/~500,000) failures and I've not checked them all against the book.

I don't see why a fixed m4 would cause a need to remove $LFS/usr/share/config.site. I don't think it would hurt anything.

comment:20 by Xi Ruoyao, 3 weeks ago

I mean it would seem unnatural to have an adaption for other packages on the M4 page, after M4 is fixed?

comment:21 by Bruce Dubbs, 3 weeks ago

I think m4 is the first package that uses gnulib, What I have implies it is for other packages that use gnulib also.

comment:22 by Xi Ruoyao, 3 weeks ago

I see the point... Let's just go with your layout and we can recheck when we update M4 anyway.

comment:23 by Bruce Dubbs, 2 weeks ago

Owner: changed from lfs-book to SecurityAdvisory

Updated at commit f1476cdc33c. Leaving open for security advisory.

Update to vim-9.2.0858 (Security Update).
Update to glibc-2.44 (Security Update).

comment:24 by Bruce Dubbs, 2 weeks ago

Resolution: fixed
Status: newclosed

Advisory sa-13.0-186 has been issued.

Note: See TracTickets for help on using tickets.