Dieser Inhalt ist in der von Ihnen ausgewählten Sprache nicht verfügbar.
Chapter 7. Bug fixes
This part describes bugs fixed in Red Hat Enterprise Linux 9.8 that have a significant impact on users.
7.1. Installer and image creation Link kopierenLink in die Zwischenablage kopiert!
- The driver disk menu now correctly displays user input on the console
Before this release, when starting a RHEL installation with the
inst.ddkernel command-line option, the console failed to render characters typed by the user. As a consequence, the lack of visual feedback made the application appear unresponsive, even though the input was still being processed in the background. With this update, this display issue has been resolved, and user input is now visible as expected during the driver disk selection process.
- Installer falls back to English in text mode for unsupported languages
Before this release, the installer did not set the display mode (text, graphical, or non-interactive) early enough during startup. As a result, the check to determine whether a selected language is supported in text mode did not run. In text mode installations, languages that are not supported in the text user interface, such as Japanese, could be used, resulting in unreadable output.
With this fix, the installer correctly detects languages that are not supported in the text mode. If an unsupported language is selected, the text user interface falls back to English. The installed system is still configured to use the originally selected language.
7.2. Security Link kopierenLink in die Zwischenablage kopiert!
- AIDE no longer terminates when a monitored file is changed
Before this update, AIDE terminated with an error if a file was truncated or removed while AIDE was computing its hash. With this update, AIDE detects when a file is truncated or deleted during hash calculation and handles the condition safely. As a result, AIDE successfully completes integrity checks even if a monitored file change size or is removed during processing.
- Updated URL in
cracklibandcracklib-dicts Before this update, the CrackLib website URL in the
cracklibandcracklib-dictspackages was outdated. As a consequence, an incorrect download ofcracklib-dictsoccurred. With this release, the URL in thecracklibandcracklib-dictsRPMs is updated to the new website URL. As a result, the package information is accurate.
clevis-pin-tpm2no longer silently ignores invalid JSONBefore this update, the
clevis-pin-tpm2command did not validate JSON field names during encryption with TPM2 and silently ignored typos and invalid fields, for example,pcrs_idsinstead ofpcr_ids. Consequently, users could inadvertently create LUKS bindings with incorrect TPM2 configurations due to typos. This could lead to unlock failures when TPM state changes, potentially making systems unbootable.This update adds JSON schema validation to reject unknown fields in the TPM2 configuration during encryption. As a result, invalid field names in TPM2 JSON configuration are properly rejected with clear error messages to prevent silent misconfigurations that could cause unlock failures.
fapolicyd-cli --check-trustdbno longer reports files without size or checksum informationSome files, for example,
/usr/lib/rpm/redhat/redhat-annobin-cc1or/etc/selinux/targeted/policy/policy.33, owned by an RPM package, are expected to be changed during and after the installation, but they are still owned by the corresponding package. Consequently,fapolicydcannot verify such files. With this release, thefapolicydframework no longer adds files that do not have size or checksum information in the RPM database to the trust database. As a result, thefapolicyd-cli --check-trustdbcommand does not report themiscompares: size sha256error message for such files.
- Keylime registrar no longer corrupts EK certificates
Before this update, the Keylime registrar performed an unnecessary data conversion of malformed Endorsement Key (EK) certificates. This process corrupted the certificates and invalidated their signatures. Consequently, it prevented the use of the
ek_check_scriptworkaround for Trusted Platform Module (TPM) devices with non-standard certificates.With this update, the database stores EK certificates without data corruption. As a result, you can validate TPM devices with malformed certificates by using the Keylime registrar and custom verification scripts.
Jira:RHEL-111167[1]
- Keylime agents correctly generate TPM quotes by using ECC keys
Before this update, when generating signed Trusted Platform Module (TPM) quotes, the
keylime-agent-rustcomponent did not properly support Elliptic Curve Cryptography (ECC) key algorithms. This prevented the agent from generating TPM quote evidence and caused enrollment failures for the ECC key types. With this update, thekeylime-agent-rustcomponent correctly handles ECC key algorithms during TPM quote generation. As a result, agents can successfully generate TPM quotes and enroll with verifiers to provide full attestation functionality with ECC keys generated by the TPM.
- Keylime verifier correctly validates TPM quotes signed with ECC keys
Before this update, when verifying signed Trusted Platform Module (TPM) quotes from agents, the Keylime verifier component did not properly support Elliptic Curve Cryptography (ECC) key algorithms. This caused attestation failures when agents used the ECC key types
ecc521,ecc384,ecc256,ecc224, orecc192. With this update, the verifier correctly handles and verifies TPM quotes signed with ECC keys. As a result, Keylime provides full attestation functionality for these algorithms.
- The
scputility correctly handles relative paths containing.. Before this update, the
scputility did not expand the..parent directory indicator in a path to the directory name. Consequently,scpincorrectly handled relative paths containing... This update adds special handling for parent directory indicators. As a result,scpnow processes paths containing..correctly.
- SELinux confined users can use smart cards with
ssh-agent Before this update, the
ssh-pkcs11-helperbinary lacked a specific SELinux security context, which prevented confined users from sending a request to thessh-agentprogram. Consequently, confined users, such asuser_uorstaff_u, were unable to add smart-card-based keys tossh-agent. With this update,ssh-pkcs11-helperis labeled with thessh_agent_exec_ttype, and additional rules are added to cache results. As a result, confined users can successfully use smart cards withssh-agent, allowing the agent to correctly access PKCS #11 keys and cache the results in the user’s home cache.
- NSS database password updates no longer corrupt ML-DSA seeds
Before this update, when you changed the database password, a bug in how NSS handled database re-encryption prevented the ML-DSA seed attribute from updating. As a result, the seed value was permanently lost, even if you knew the previous password.
With this update, password changes correctly update the ML-DSA seed attribute and no longer cause the permanent loss of seed values. Note that you still cannot recover the seeds lost before this update.
Jira:RHEL-127671[1]
- Clevis handles migrations to image mode correctly
Before this update, user and group membership updates from package installations were not properly applied when migrating from package mode to image mode. Consequently, the
clevisuser was not added to thetsssecurity group, preventing Clevis from accessing a trusted platform module (TPM) device and retrieving encryption keys during system boot. With this update, the Clevis package installation process is updated to ensure that theclevisuser is properly added to thetssgroup during image mode updates, even when existing configuration files are preserved. As a result, Clevis can properly access the TPM device and successfully retrieve an encryption key on systems in image mode.
- The SELinux policy no longer disables assistive technologies for confined users
Before this update, the SELinux policy restricted confined users from using the Assistive Technology Service Provider Interface (AT-SPI) services. As a consequence, these services failed to operate in graphical desktop environments. This update adds the required execution and directory access permissions to the SELinux policy.
As a result, assistive technologies, such as the Orca screen reader and on-screen keyboards, function correctly for confined users in SELinux enforcing mode.
Jira:RHEL-133898[1]
/usr/share/*/bin/*binaries work withfapolicydBefore this update, the
fapolicydservice did not add binaries from/usr/share/*/bin/directories to the trust database. For example, the/usr/share/Modules/bin/mkrootbinary was not added. Consequently, users could not run these binaries when using thetrust=1option infapolicydrules. With this fix, thefapolicyd-filter.conffile contains*/bin/*. As a result, you can run binaries from/usr/share/*/bin/with thefapolicydservice active.
7.3. Software management Link kopierenLink in die Zwischenablage kopiert!
- DNF no longer attempts to automatically remove protected packages installed as dependencies
Before this update, if you installed a protected package as a dependency required by only one other package and had the
clean_requirements_on_removeconfiguration option enabled, DNF failed to perform any transaction that tried to remove the protected package if this package became an unused dependency. This prevented the removal of the package that depended on it, because DNF would automatically attempt to remove the protected dependency as well. With this update, DNF treats all protected packages as explicitly installed by the user. As a result, DNF no longer attempts to automatically remove protected packages, allowing the removal of the package that depends on it.
- DNF correctly performs comparison of
epoch-version-releasefor upgrade transactions Before this update, DNF incorrectly performed comparison of the
epoch-version-release(EVR) RPM package information. As a consequence, if you performed two subsequent upgrade transactions for a package that had the sameepoch-versionbut differentrelease, DNF identified the overall transaction as a downgrade. This update fixes theEVRcomparison. As a result, DNF identifies two subsequent package upgrades with different release versions as an upgrade.
dnf-automaticcan send emails to multiple recipients with default/usr/bin/mailBefore this update, if the
dnf-automaticutility used thecommand_emailemitter to send emails to multiple recipients and also used the/usr/bin/mailutility installed with thes-nailpackage,/usr/bin/mailfailed to send an email. With this update, thednf-automaticutility expands theemail_tokeyword in thecommand_formatformatting string from a single argument to multiple arguments. As a result,dnf-automaticsends emails to multiple recipients with the default/usr/bin/mailutility.
- DNF transactions that use advisory filters to update packages with multiple architectures no longer fail with a logic error
Before this update, using DNF advisory filters, such as
--security, to update certain packages with multiple architectures triggered a logic error in thelibsolvdependency solver. As a consequence, updating packages by using advisory filters would sometimes result in a transaction that could not be resolved. This issue affected thelibldbandlibsmbclientpackages. This update fixes the logic error inlibsolv. As a result, update transactions involving multiple architectures and theforcebestandimplicitobsoleteusescolorssolver options resolve.
pqrpmno longer fails to verify a package with multiple signatures when the package has someNOTTRUSTEDsignaturesBefore this update, when you verified a package with multiple signatures,
pqrpm, the minimal variant of RPM with post quantum cryptography (PQC) support, did not correctly determine the overall verification result when the/usr/lib/pqrpm/bin/rpmkeysutility reported some of the package signatures asNOTTRUSTED. A signature can becomeNOTTRUSTEDif, for example, its certificate is expired or revoked, or if its algorithm is disabled by system-wide cryptographic policies. As a consequence,pqrpmfailed to verify the package even if the package had at least one valid and trusted signature.This update fixes the verification logic in
pqrpmto correctly handle packages withNOTTRUSTEDsignatures. This update also improves error reporting around this functionality.As a result,
pqrpmignoresNOTTRUSTEDpackage signatures and successfully verifies a package with multiple signatures if the package has at least one valid signature and no invalid signatures. Error messages are also clearer and more accurate when verification actually fails.
multisigno longer fails to install packages that use both supported and unsupported RPMv6 signing algorithmsBefore this update, you could not install packages with signatures that used both supported and unsupported RPMv6 package signing algorithms. As a consequence, DNF rejected such packages when verifying their signatures because of the unsupported algorithms. With this update, the DNF
multisigplugin ignores signatures classified asNOTTRUSTEDin therpmkeyscommand output. As a result,multisigcan install packages that use both supported and unsupported signing algorithms.
7.4. Shells and command-line tools Link kopierenLink in die Zwischenablage kopiert!
volume_keysuccessfully retrieves backup passphrases in FIPS modeBefore this update, the
volume_keyutility used functions that were incompatible with Federal Information Processing Standards (FIPS) when retrieving a backup passphrase from an escrow packet. Consequently,volume_keyfailed and reported an error on systems with FIPS mode enabled. This update ensures that the backup passphrase retrieval function is FIPS-compliant. As a result, you can successfully retrieve backup passphrases on FIPS-enabled systems.Jira:RHEL-113757[1]
7.5. Networking Link kopierenLink in die Zwischenablage kopiert!
- RHEL disables LRO on VLAN port devices by default
Before this update, RHEL did not automatically disable large receive offload (LRO) on port if you created a VLAN device. As a consequence, this could affect VLAN packet receiving because LRO merges small packets to big ones and ignores the VLAN flag. With this update, RHEL enforces disabling LRO on the port device when you add a VLAN on it. As a result, VLAN packet receiving works correctly.
Jira:RHEL-80409[1]
- The NetworkManager
sriov.vfsproperty supports thereapplyoperation Before this update, NetworkManager could not dynamically apply changes if a user changed the
sriov.vfsproperty. As a consequence, NetworkManager connections with Single Root I/O Virtualization (SR-IOV) settings required a restart after modifications. With this release,sriov.vfsnow supports thereapplyoperation if the total number of virtual functions (VFs) does not change. As a result, restarting a connection after modifying SR-IOV settings is no longer required in the mentioned scenario.Jira:RHEL-113954[1]
- NetworkManager clients can set a global-level DNS search domain without defining a DNS server
Before this update, if a client, such as the Nmstate API or the GNOME control center application, used the D-Bus API for changes on a global level, it was not possible to set DNS search domains without defining a DNS server. This update fixes the problem, and clients can define only a global-level DNS search domain.
Jira:RHEL-115973[1]
- The
xdp-trafficgenutility works correctly on ARM systems Before this update, the
xdp-trafficgenutility failed on ARM systems with aMissing required option '--interface'error even if you specified the-i <interface>option. As a consequence, it was not possible to probe eXpress Data Path (XDP) support on a specific interface. This update fixes the problem, and the-i <interface>option works correctly on ARM systems.
- The
conntrackutility can delete connection tracking entries managed bynftablesflowtables When you use
nftablesflowtables, connection tracking entries handled by a flowtable can be marked with anOFFLOADstatus to accelerate packet processing. In previous releases, a kernel safeguard prevented theconntrackutility from deleting any entry after it was marked as offloaded. As a consequence, deleting stale entries was not possible. With this update, the kernel was modified to allow the deletion of connection tracking entries regardless of their offload status. As a result, you can use theconntrackutility to remove entries that are handled by annftablesflowtable.Jira:RHEL-138511[1]
7.6. File systems and storage Link kopierenLink in die Zwischenablage kopiert!
- GFS2 now handles large writes more efficiently
Before this update, multi-page write operations to GFS2 files sometimes degenerated into page-size (typically 4 KiB) chunks. This happened after an initial multi-page segment was written, particularly when using
write(2)with a large buffer that was not resident in memory. This led to reduced write efficiency for large files.With this release, GFS2 kernel code has been updated to fix the issue. As a result, some large write workloads may see a small improvement in write efficiency.
Jira:RHEL-7971[1]
- Multipath persistent reservation handling is now more robust and consistent
Before this update, the
libmpathpersistlibrary, which is used by thempathpersistcommand, had several issues and corner cases that affected persistent reservation handling for multipath devices. This caused the following problems:-
Numerous
mpathpersistoperations failed on a multipath device. - Persistent reservations sometimes ended up in an inconsistent state. As a consequence, the multipath device denied write access when it was supposed to be allowed, and allowed write access when it was supposed to be prohibited.
With this release, multiple areas of
libmpathpersisthave been redesigned and fixed to ensure correct and consistent behavior. As a result,mpathpersistcommands on multipath devices now work the same as the equivalentsg_persistcommands on SCSI devices. I/O access to multipath devices also consistently reflects the device’s persistent reservation state.-
Numerous
- The Anaconda installer can now use iSCSI LUNs with ID 256 or higher
Before this update, starting an operating system installation on a system that used iSCSI storage could cause the Anaconda installer to crash. This occurred when the iSCSI Logical Unit Number (LUN) ID was 256 or higher.
This update includes a fix to the LUN ID parsing logic in the
blivetlibrary. As a result, installations on systems that use iSCSI targets with LUN IDs of 256 or greater can now proceed.
- The output of
dfanddunow remains consistent after file deletion in GFS2 file system Before this update, when a large number of files were deleted on a GFS2 file system, the space occupied by those files remained claimed. As a consequence, the
dfutility reported much higher disk usage than theduutility, which made the file system appear to have run out of space.With this release, the logic that manages and updates free disk space counters has been corrected. As a result, disk usage information reported by
dfanddunow remains accurate and consistent, even after mass file deletion operations.Jira:RHEL-129403[1]
multipathdlogs offline path warnings for uninitialized pathsBefore this update, if
multipathdstarted or reconfigured while a path was offline, the daemon did not print regular offline warnings for that path. This made it difficult to identify issues with uninitialized paths.With this update,
multipathdprints offline messages for uninitialized paths. As a result, you can monitor path status consistently.Jira:RHEL-133814[1]
- Fixed delayed uevent processing in
multipathd Before this update, when a large number of uevents occurred,
multipathddelayed processing the events for up to 30 seconds. During this time,multipathd show statusincorrectly reported that there was no outstanding work. As a consequence,multipathddid not always react promptly when path devices were added or removed. This could lead to temporary hangs or I/O errors if no active paths were available.With this update,
multipathdprocesses uevents without delay and reports its status correctly. As a result, multipath devices no longer hang or return I/O errors after a usable path is added.Jira:RHEL-135904[1]
- Fixed NVMe
subsystem resetrecovery on PowerPC Before this update, issuing the
nvme subsystem-resetcommand on the PowerPC platform caused the Non-volatile Memory Express (NVMe) device to enter theresettingstate and it failed to recover. As a consequence, the device hung and required a system reboot to recover.With this release, the NVMe device recovers correctly after a
subsystem reset. It is temporarily inaccessible while transitioning from theresettingstate to thelivestate.Jira:RHEL-137435[1]
7.7. High availability and clusters Link kopierenLink in die Zwischenablage kopiert!
- Resource and stonith agent descriptions retain original formatting
Before this update,
pcsautomatically wrapped resource and stonith agent descriptions to fit within the terminal window. Consequently, any formatting done by the agents' authors-such as new lines, paragraphs, lists, or tables-was removed, often making the descriptions difficult to read.With this update,
pcsno longer reformats the description text.As a result,
pcsdisplays resource and stonith agent descriptions exactly as the agents' authors intended, preserving the original structure and improving readability.
- The
db2resource agent handles reintegration correctly Before this update, the
db2resource agent could encounter a race condition when a node was reintegrating into the cluster. Consequently, the reintegrating node could incorrectly attempt to start as a "Primary" instance.With this update, a "reintegration" attribute has been added to the agent. This allows the agent to correctly identify whether it is expected to join as a "Primary" or not, avoiding the race condition.
As a result, reintegration works correctly. Note that in order to prevent issues during the upgrade, you must disable all
db2resources before applying the update and re-enable them only after the update is complete on all nodes.Jira:RHEL-118624[1]
7.8. Compilers and development tools Link kopierenLink in die Zwischenablage kopiert!
- ANSI_X3.110-1983 codec moved to
glibc-gconv-extra Before this update, the ANSI_X3.110-1983 character set codec was accidentally shipped in the main
glibcpackage. As a consequence, minimal installations and container images were slightly larger, and applications could be exposed to vulnerabilities in the ANSI_X3.110-1983 conversion code even when theglibc-gconv-extrapackage was not installed.With this release, the ANSI_X3.110-1983 codec is moved from the main
glibcpackage to theglibc-gconv-extrapackage. As a result, the amount of conversion code present in minimal installations is reduced, and customers who require ANSI_X3.110-1983 support can obtain it explicitly by installing theglibc-gconv-extrapackage.
- Fixed missing
gzipdependency for compressed locale character maps inglibc-locale-source Before this update, the
glibc-locale-sourcepackage provided character maps ingzipcompressed format but did not declare a dependency on thegzippackage. As a consequence, usinglocaledefwith a character map provided byglibc-locale-sourcecould fail ifgzipwas not installed on the system because the compressed archive could not be uncompressed.With this release,
glibc-locale-sourcenow depends on thegzippackage to ensure that the required compression utility is installed with the character map data. As a result, usinglocaledefwith character maps provided byglibc-locale-sourcenow works as expected even on systems wheregzipwas previously missing.Jira:RHEL-111005[1]
glibcnow returns complete group membership results when NSS group merges fail with ERANGEBefore this update, on systems where Name Service Switch (NSS) merged groups from more than two sources, if merging two groups failed because the internal buffer was too small,
glibcskipped that merge result instead of retrying with a larger buffer.As a consequence, on such systems, running commands like
getent groupsometimes returned incomplete or empty group lists.With this update,
glibcno longer skips merge failures that are caused by an insufficient internal buffer and instead retries the merge with a larger buffer as intended.As a result, group membership lookups on systems with multiple group database sources now return complete and correct group membership data.
- Boost.JSON integer parsing endian-aware on big-endian systems
Before this update, integer deserialization in Boost.JSON was not endian-aware on big-endian systems, and integer fields were interpreted with the wrong byte order. As a consequence, applications that used Boost.JSON to deserialize integer values on big-endian architectures obtained incorrect integer results and could behave unexpectedly.
With this release, the
boostpackage updates Boost.JSON to handle integer deserialization in an endian-aware manner on big-endian systems. As a result, the library returns correct integer values on big-endian systems, ensuring predictable application behaviorJira:RHEL-116553[1]
glibcNSS database lookup stability improvementBefore this update, missing checks in the
__nss_database_getfunction in theglibcpackage could cause null pointer dereferences and assertion failures during Name Service Switch (NSS) database lookups. As a consequence, applications relying on NSS could terminate unexpectedly, or the C library could crash under specific lookup conditions.With this release, additional validation checks are added to the NSS database lookup path in
glibcto handle invalid or unexpected internal states safely. As a result, NSS database lookups are more robust, and system stability is improved.
- Duplicate DNS queries fixed when the search path is set to
. Before this update, when the Domain Name System (DNS) search path in
/etc/resolv.conffile contained a single.entry, theglibcDNS stub resolver queried both the original domain name and the same domain name with a trailing dot.As a consequence, DNS queries for non-existent domains were duplicated, increasing the load on DNS servers.
After this update, the
glibcDNS stub resolver no longer appends a trailing dot to domain names when the search path contains only a single.entry.As a result, DNS queries are no longer duplicated in this configuration, reducing unnecessary DNS traffic and server load.
7.9. Identity Management Link kopierenLink in die Zwischenablage kopiert!
dsconf replication get-ruvno longer returns an errorBefore this update, one of the replication functions did not call a required function. As a result, when you ran
dsconf <instance_name> replication get-ruv --suffix dc=example,dc=com, an error was displayed. With this update, the command returns a Replica Update Vector (RUV) value as expected.Jira:RHEL-112727[1]
- Directory Server correctly displays the number of child entries under a specific node
Before this update, the
numSubordinatesandnumTombstoneSubordinatesattributes were wrongly computed during import. Consequently, when you compared the number of child entries under a specific node, the wrong values were displayed.With this update, Directory Server computes
numSubordinatesandnumTombstoneSubordinatescorrectly.Jira:RHEL-117748[1]
- Directory Server ignores
memberOfDeferredUpdatesetting on instances with LMDB Before this update, the
memberOfDeferredUpdateconfiguration attribute, which is only effective for a Berkeley DB (BDB) backend, was not ignored on instances with a Lightning Memory-Mapped Database Manager (LMDB) backend. As a consequence, ifmemberOfDeferredUpdatewas enabled on an LMDB instance, the Directory Server could become unresponsive during MemberOf plugin processing of large or complex groups.With this update, Directory Server ignores the
memberOfDeferredUpdatesetting on instances with LMDB. As a result, processing large or complex groups no longer causes the server to become unresponsive.Jira:RHEL-117782[1]
- Directory Server tools consistently accept unit suffixes when configuring the LMDB database maximum size
Before this update,
dscreateanddsconfused different functions to parse and display the LMDB database maximum size (nsslapd-mdb-max-size). As a consequence,dscreate create-templatedisplayed the value as a raw floating-point number in bytes, whiledsconf backend config set --mdb-max-sizeaccepted values in bytes only, making it difficult to configure consistent values across the two tools.With this update, both tools use the same parsing functions and accept values with unit suffixes (
k,m,g,t), automatically aligning the result to the nearest page boundary. As a result, administrators can use human-readable size values consistently acrossdscreateanddsconfwhen setting the LMDB database maximum size.Jira:RHEL-121170[1]
- New
notes=Nandnotes=Bsearch indicators to identify asynchronous operations in the Directory Server access log Before this update, asynchronous requests that exceeded the maximum number of threads per connection caused server unresponsiveness without identification in the Directory Server access logs. As a consequence, it was difficult to diagnose server unresponsiveness.
With this release, Directory Server uses the new search indicators in the access logs to identify such requests:
notes=Ndefines that the operation is not synchronous.notes=Bdefines that the operation blocks other new incoming operations: pending operations, not the read operations, are delayed.In both cases, you might need to increase the
nsslapd-maxthreadsperconnattribute value to allow a connection to use more threads.Jira:RHEL-123231[1]
- The MemberOf fixup task completion message correctly displays the membership attribute name
Before this update, when the MemberOf plugin completed a global fixup task, the plugin freed its configuration structure before logging the completion message. As a consequence, the completion log message displayed (
null) instead of the membership attribute name.With this update, the MemberOf plugin logs the fixup task completion message before freeing its configuration structure, ensuring the attribute name is available when the message is written. As a result, the completion log message displays the correct membership attribute name, making it easier for administrators to verify fixup operations and troubleshoot issues.
Jira:RHEL-123258[1]
- The Directory Server web console no longer fails with an error when enabling replication on a consumer
Before this update, when enabling replication on a consumer, the
dsconfutility printed a warning about changelogs to thestdoutstream instead ofstderr. As a consequence, the textual warning broke JSON parsing in the Directory Server web console, which expects pure JSON onstdout.With this update,
dsconfutility was updated so that the warning about changelogs on consumer replicas is written tostderr. As a result, the Directory Server web console successfully loads the Replication tab after enabling replication on a consumer or changing a role to consumer.Jira:RHEL-123897[1]
- LDAP searches with spaces in DN filter values no longer return incorrect results
Before this update, a regression in the handling of filters containing distinguished name (DN) caused LDAP searches with spaces inside DN values in the filter, such as
(member=uid=user, ou=people,dc=example,dc=com), to be evaluated incorrectly. As a consequence, applications received incomplete group membership and search results.With this update, Directory Server normalizes and correctly compares DN values in the filter, accepting filters both with and without spaces in DN components. As a result, LDAP searches that include spaces in DN values return the same, complete results as in earlier RHDS versions, restoring expected application behavior.
Jira:RHEL-126552[1]
- Online initialization of a Directory Server consumer no longer fails with an
LDAP_BUSYerror Before this update, the replication agreement could send entries faster than the consumer was able to import during online initialization. In that situation, the consumer responded with an
LDAP_BUSYerror. As a consequence, the replication agreement did not handle this error and terminated the online initialization.With this update, the replication agreement handles received
LDAP_BUSYresponses by retrying the operation after a delay. As a result, online initialization completes successfully even when the consumer temporarily cannot keep up with the rate of incoming entries.Jira:RHEL-129559[1]
- Resolved DNS record creation failure when reverse zone is missing
Before this update, the
ipadnsrecordmodule inansible-freeipaignored thecreate_reverseparameter. As a consequence, when users attempted to addAorAAAArecords, the module incorrectly always required an existing reverse DNS zone and the task failed with a "DNS zone not found" error.With this release, the module logic verifies the status of the
create_reverseflag before attempting to validate or locate a reverse zone and skips the check entirely if it is set tofalse. As a result, theipadnsrecordmodule successfully addsAandAAAArecords to IdM-managed zones without requiring an existing reverse zone whencreate_reverseis set tofalse.
- Online initialization of large databases progresses as expected
Before this update, when initializing replication with very large databases, especially after major subtree moves, the initialization could appear stalled after sending the initial suffix entry, because it spent excessive time building and checking large internal ID lists. As a consequence, the server experienced long CPU spikes, initialization was delayed or incomplete, and replicas remained outdated for an extended period.
With this update, the internal ID list lookup logic used during online initialization was optimized, making it scalable even with very large datasets. As a result, replication online initialization progresses as expected on large databases.
Jira:RHEL-142980[1]
- Directory Server deletes access logs as expected
Before this update, when access log compression was enabled, the log rotation logic failed to correctly recognize
.gz-suffixed rotated access log filenames while rebuilding the internal rotation information, so compressed logs were not associated with their corresponding rotation entries. As a consequence, thensslapd-accesslog-listdid not contain the actual files on disk, and access logs accumulated until manual cleanup was required to prevent disks from filling.With this update, the log rotation logic was updated to correctly parse and match rotated access log filenames regardless of whether they are compressed (with a
.gzsuffix) or uncompressed, ensuring compressed logs are included when rebuilding rotation information and validating previous log files. As a result, compressed rotated access logs are properly tracked and removed according to the configured rotation settings.Jira:RHEL-147212[1]
- Directory Server no longer fails under heavy operations involving the NDN cache
Before this update, a defect in the concread dependency used by the Named Data Networking (NDN) cache caused LinCowCell chain drops to incorrectly free shared links when multiple references existed to the same chain. As a consequence, under heavy operations involving the NDN cache, the server could hit a use-after-free condition and fail with a segmentation fault in
atomic_compare_exchange(), leading to erratic downtime.With this update, the
389-ds-basepackage uses concread version 0.5.10, which correctly stops freeing data when a shared cache link is detected. As a result, NDN cache operations are handled safely, preventing the segmentation fault.Jira:RHEL-152338[1]
7.10. SSSD Link kopierenLink in die Zwischenablage kopiert!
- User creation fails with invalid
sAMAccountNameinput Before this update, user creation with, for example, a User Principal Name (UPN) format that includes the
@character instead of asAMAccountNameattribute, causedadclito create user objects with asAMAccountNamewhich contained invalid characters. As a consequence, Active Directory (AD) operations involving that user could break. With this release,adclivalidates the input string for user creation against a list of illegal characters before attempting to create the entry. As a result,adcliterminates user creation if the input is not a validsAMAccountNamevalue. This prevents the creation of malformed user objects and ensures smoother AD operation.Jira:RHEL-134945[1]
adclicorrectly identifies machine account principals in multi-realm keytabsBefore this update, when connecting to a domain to update a password,
adclialways used the Kerberos realm of the first entry in the keytab file. As a consequence, on systems where the keytab contained multiple realms, the renewal process failed with a "no suitable keys" error if the required realm was not listed first. With this release,adclisearches the keytab for a principal that matches the target domain. As a result, machine account password renewals now succeed regardless of the order of entries in the keytab.Jira:RHEL-134948[1]
adclitestjoin correctly identifies the joined domain in multi-principal keytabsBefore this update, the
adcli testjoincommand unconditionally used the domain or realm from the first entry found in the keytab file to perform its diagnostic test. As a consequence, on systems where the keytab contained principals from multiple domains,adcli testjoinwould often attempt to connect to an incorrect domain and fail with a "Realm not local to KDC" error.With this release,
adcliuses the realm from the keytab as the domain name when the domain is not explicitly specified. As a result, users can reliably verify domain connectivity without encountering false authentication failures.Jira:RHEL-134950[1]
7.11. Red Hat Enterprise Linux System Roles Link kopierenLink in die Zwischenablage kopiert!
- The
nbde_clientrole correctly maintains idempotence after failed binding operations Before this update, when the
nbde_clientsystem role failed to add a required binding to a LUKS-encrypted volume, the rollback mechanism did not always function correctly. This led to idempotence issues, where subsequent attempts to run the role would fail or produce unexpected results because the system was left in a partially modified state.With this update, the role performs a backup of the LUKS header before initiating any binding operations. If an operation fails, the role uses this backup to restore the header to its original state. As a result, the role correctly maintains idempotence and ensures the system remains in a consistent state even if a binding fails to be added.
- The
networkRHEL system role no longer fails to look up routing tables by name The
/usr/share/iproute2/rt_tablesfile contains certain built-in routing table names, such asmain. Before this update, if an administrator used thenetworkRHEL system role to modify the routing table and specified a routing table by its name in a playbook, the role failed with the following error:cannot find route table main in /etc/iproute2/rt_tables or /etc/iproute2/rt_tables.d/With this update, the
networkRHEL system role no longer fails to look up routing tables by name in/etc/iproute2/rt_tablesand files in the/etc/iproute2/rt_tables.d/directory.Jira:RHEL-112805[1]
- External configuration files correctly override all the
sshd_configoptions Before this update, external configuration files were not loaded first, which prevented overrides of all options in the
sshd_configfile. Consequently, users experienced incorrect OpenSSH daemon configuration. With this update, external configuration files take priority. As a result, users can override all options in thesshd_configfile.Jira:RHEL-123018[1]
- The
networkRHEL system role no longer reports an incorrect state when removing profiles Before this release, when you used the
networkRHEL system role with thepersistent_state: absentsetting to remove undefined profiles, the role attempted to delete the loopback interface profile. Because the system automatically recreates this profile immediately, Ansible incorrectly reported achangedstate. This bug fix adds the loopback device to the role-internalblack_list_namesvariable. As a result, thenetworkRHEL system role ignores the loopback interface. This prevents unnecessary changes and the role reports anokstate.Jira:RHEL-123028[1]
- Storage role no longer fails when
/etc/fstabis missing Before this update, the storage role crashed on systems where
/etc/fstabwas absent. As a consequence, systems without a file system table configuration experienced failures.With this update, the storage role checks whether
/etc/fstabexists before attempting to parse it. As a result, systems without this file no longer experience a crash when using the storage role.Jira:RHEL-123044[1]
- The
aidesystem role supports dynamic database configuration for multiple AIDE versions Before this update, the
aidesystem role used the deprecateddatabasevariable in its templates. On systems running Advanced Intrusion Detection Environment (AIDE) version 0.17 or later, including RHEL 10.2, RHEL 9.8, and CentOS Stream 9, this caused the AIDE service to fail during configuration parsing.With this update, the role introduces the
database_inandaide_versionvariables to dynamically detect the installed AIDE version and apply the appropriate configuration syntax automatically.As a result, the
aidesystem role provides consistent file integrity monitoring across different releases without requiring manual configuration changes.Jira:RHEL-129416[1]
- Improved error handling for empty disk lists in
blivet Before this update, the code failed to check if the disks list was empty before accessing
disks[0]in theblivetmodule. As a consequence, an unhandledIndexErrorcaused playbook failures, leading to poor performance.With this update, the module checks whether the disk list is empty before accessing it. If no disks are available, a clear error message is displayed instead of triggering an exception.
Jira:RHEL-138058[1]
vpnrole generates validipsec.conffile for unmanaged hostsBefore this update, when you tried to generate an
ipsec.conffile for VPN connection between managed and unmanaged hosts, a logic error in the Ansible Playbook caused the task to fail. With this update, the Ansible Playbook references the host and subnet information correctly.As a result, the
vpnsystem role generates a validipsec.conffile for this scenario.Jira:RHEL-145220[1]
- The
selinuxsystem role supports static imports even when some variables are undefined Before this update, undefined variables, such as module paths, caused the
selinuxsystem role to fail during template expansion if theimport_roledirective was used. This occurred because Ansible attempts to resolve variables in tasknamefields immediately, even if those tasks are within a block with awhencondition that evaluates to false.With this update, task names use the
default, ord, filter to provide a fallback value for potentially undefined variables. This ensures that static imports succeed without error, and dynamic usage with theinclude_rolemodule still provides detailed task information when variables are present.As a result, the
selinuxrole functions correctly in playbooks that use theimport_roledirective even when no specific module path is defined.Jira:RHEL-145248[1]
- Fixed ZeroDivisionError when creating LVM volumes without a specified size
Before this update, creating an LVM volume without specifying a size could cause a ZeroDivisionError. This occurred because the
blivetmodule treated a volume with no specified size as zero.With this release, if you do not specify size, the volume uses all available space in the pool. As a result, LVM volumes are created successfully even when a size is omitted.
Jira:RHEL-147823[1]
- The
firewallRHEL system role installs NetworkManager on managed nodes in order for PCI interface ID lookups to work correctly Previously, if you wanted to look up the interface name by specifying the PCI id for the interface by using the
interface_pci_idparameter, and NetworkManager was not installed, thefirewallRHEL system role was unable to look up the interface by PCI ID and displayed a warning. As a consequence, the role failed to configure thefirewalldservice by using the specifiedinterface_pci_idvariable. With this update, the role ensures that NetworkManager is installed, and thefirewallRHEL system role works as expected.Jira:RHEL-150782[1]
- Resolved task name expansion issues in Ansible roles
Before this update, if you used
import_rolewith modules that had no path set, the role issued undefined variable errors. This occurred because Ansible attempted to expand templates in task names within ablockregardless of thewhenconditions.With this update, the
dfilter provides a default value for these variables. As a result, the role no longer errors withimport_roleand modules without a defined path, and continues to provide additional context in task names when used withinclude_role.Jira:RHEL-150789[1]
- Loop mount errors on RHEL 7 are resolved
Before this update, the
blivetmodule called an undefined function during loop mounts on Red Hat Enterprise Linux 7 because thelibblockdev-looppackage was missing. As a consequence, the role failed with the "The function 'bd_loop_get_backing_file' called, but not implemented" error.With this update, the
libblockdev-looppackage is installed, which preventsbliveterrors during loop mounts on RHEL 7.Jira:RHEL-151438[1]
7.12. Virtualization Link kopierenLink in die Zwischenablage kopiert!
- VMs with large memory can now boot correctly on SEV-SNP host with AMD Genoa CPUs
Previously, virtual machines (VMs) could not boot on hosts that used a 4th Generation AMD EPYC processor (also known as Genoa) and had the AMD Secure Encrypted Virtualization with Secure Nested Paging (SEV-SNP) feature enabled. Instead of booting, a kernel panic occurred in the VM. This issue has now been fixed.
Jira:RHEL-32892[1]
- Post-copy migration no longer causes connection issues on IBM Z
After migrating a virtual machine (VM) between IBM Z hosts by using post-copy migration, the VM previously in some cases lost network connection and required resetting its network interface to reconnect. With this update, the kernel handles post-copy initiation properly, and the problem no longer occurs.
Jira:RHEL-43214[1]
- VM migration no longer fails when using vTPM on shared storage
Before this update, when a virtual Trusted Platform Module (vTPM) data directory was stored on a shared file system, such as NFS, the system failed to create the directory on the destination host during migration, even if it did not exist. This caused virtual machine (VM) migrations to fail. With this update, the system correctly identifies missing vTPM data directories on the destination host and creates them as needed. As a result, virtual machines with a vTPM on shared storage now migrate successfully.
- VMs with large memory can now boot correctly on SEV-SNP host with AMD Genoa CPUs
Previously, virtual machines (VMs) could not boot on hosts that used a 4th Generation AMD EPYC processor (also known as Genoa) and had the AMD Secure Encrypted Virtualization with Secure Nested Paging (SEV-SNP) feature enabled. Instead of booting, a kernel panic occurred in the VM. This issue has now been fixed.
Jira:RHEL-121983[1]
- TDX attestation no longer requires rebooting the host
Previously, after you installed the
linux-sgxpackages on your host, Intel Trust Domain Extensions (TDX) attestation on your virtual machines (VMs) only worked after you rebooted the host. Now, the/dev/sgx_provisiondevice has correct correct ownership configured after installinglinux-sgx, and you can proceed with TDX attestation without rebooting the host.Jira:RHEL-129059[1]
- Live VM memory dumps and VM snapshots now work correctly on IBM Z
Previously, attempting to create a memory dump of a running VM by using the
virsh dump --livecommand on an IBM Z host sometimes caused the VM to become unresponsive. In rare cases, creating a snapshot of a running VM can also caused the VM to become unresponsive. With this update, this issue has been fixed, and VMs on IBM Z work as expected in the described scenarios.Jira:RHELDOCS-21707[1]
7.13. Supportability Link kopierenLink in die Zwischenablage kopiert!
- Scrub non-alphanumeric passwords are available in the installer logs
Before this update, password detection was strict for obfuscating non-alphanumeric characters. With this release, password scrubbing now accepts non-alphanumeric characters. As a result, password detection no longer rejects non-alphanumeric characters, improving password input flexibility.
- Improved IPv6 obfuscation for data privacy
Before this update, the netmask portion of IPv6 addresses remained visible during the data cleaning process. With this release, both the address and the netmask are properly obfuscated, preventing the accidental exposure of network topology.
- The
obfuscate_filefunction correctly scrubs file content Before this update, the
obfuscate_filefunction overwrote the file content with the filename, causing issues with the main archive population in the cleaner. Consequently, incorrectly overwritten file content insoscaused user data corruption. This update introduces the following notable enhancements:-
The
obfuscate_filefunction cleans the file content instead of the filename. -
The cleaner’s
main_archiveis populated by the parsers first to ensure data integrity. -
The
obfuscate_filefunction does not requireshort_name. It uses an implicit value that the cleaner automatically processes.
-
The
- Enhanced post processing obfuscation in OpenStack Nova
Before this update, the passwords were never scrubbed. With this update, the obfuscation is applied only to the
/var/lib/openstack/config/novadirectory and obfuscating passwords from transport URLs, not the entire URL.
- Improper scrubbing fixed in
aap_containerizedto secure passwords Before this update, the unscrubbed passwords were collected from containerized AAP deployments because of the improper scrubbing in the
aap_containerizedplugin. As a consequence, a password leak occurred in these deployments.With this release, secret obfuscation has been added to the plugin. As a result, sensitive data is properly obfuscated in the containerized AAP deployments, reducing the risk of password leaks.
- The
rhsm.serviceservice is running after thesosreport execution Before this update, the
sosreport inadvertently startedrhsm.serviceservice even when it was stopped. This caused the service to run in scenarios where there was no internet connection, generating error messages.With this fix, the
sosreport no longer startsrhsm.serviceservice when it is disabled, improving system stability in offline environments.
7.14. Containers Link kopierenLink in die Zwischenablage kopiert!
- Container restart policy is applied correctly at RHEL boot with the
podman-restart.service In Podman version 5.8, the container restart policy was not enforced during RHEL system reboot due to an issue in Podman v5.6 and earlier.
With this fix, the issue regarding container restart with
-restart=unless-stoppedandPodman-restart.servicehas been addressed. As a result, containers with these settings can start at boot in RHEL 9.8 and later versions.Jira:RHEL-157746[1]
- Buildah and Podman no longer request multiple tokens per operation
Previously, the Buildah and Podman utilities repeatedly requested tokens during each operation. This sometimes caused a race condition in the hosted repository manager.
This update fixes the issue, which improves the performance and stability of the hosted repository manager.
7.15. RHEL Lightspeed Link kopierenLink in die Zwischenablage kopiert!
- The
lightspeedkeyword is added todnfsearch metadata for the CLA package Before this update, the
lightspeedkeyword was missing from the command-line assistant (CLA) package summary. As a consequence, users could not easily find the package when performing adnfsearch. With this update, the keyword is added to the package metadata. As a result, users can now find the package by searching forlightspeed, which makes the CLA easier to install.