第 6 章 显著的程序漏洞修复
本章论述了 Red Hat Enterprise Linux 7.9 中修复的对用户有严重影响的漏洞。
6.1. 认证和互操作性
当使用 SASL 绑定到 Directory Server 时,不再会出现死锁
在以前的版本中,SASL 绑定到 Directory 服务器可能会尝试使用在连接过程中修改的回调。因此,会出现死锁,Directory Server 可能会意外终止。在这个版本中,服务器使用连接锁定来防止在使用时修改 IO 层和回调。因此,在使用 SASL 绑定时死锁不再发生。
389-ds-base
软件包现在对目录服务器用户拥有的目录设置了所需的权限
如果 Directory Server 用户拥有的文件系统中的目录没有正确的权限,Directory 服务器实用程序会相应地调整它们。但是,如果这些权限与 RPM 安装期间设置的权限不同,则使用 rpm -V 389-ds-base
命令验证 RPM 会失败。在这个版本中,RPM 中的权限已被修复。因此,验证 389-ds-base
软件包不再提示权限不正确。
在 IPv6 的 ACI 中使用 ip
绑定规则时,目录服务器中的内存泄漏已被修复
目录服务器(Directory Server)中的 Access Control Instruction(ACI)上下文附加到连接中,其中包含 IPv4 和 IPv6 协议的结构。在以前的版本中,当客户端关闭连接时,目录服务器会删除唯一的 IPv4 结构和上下文。因此,如果管理员配置了带有 ip
绑定规则的 ACI,则目录服务器会泄漏 IPv6 结构的内存。在这个版本中,服务器会在连接结束时释放 IPv4 和 IPv6 结构。因此,Directory 服务器不再会泄漏上述场景中的内存。
当使用带有 ip
绑定规则的 ACI 时,目录服务器不再泄漏内存
当目录服务器访问控制指令(ACI)包含 ip
绑定规则时,服务器会在评估 ACI 时将 ip
关键字的值存储为引用。在以前的版本中,当评估完成时,目录服务器并没有释放 ip
值。因此,服务器每次评估带有 ip
绑定规则的 ACI 时,服务器都会泄漏大约 100 字节的内存。有了这个更新,目录服务器会跟踪每个连接结构中的 ip
值,并在连接关闭时释放结构。因此,Directory 服务器不再泄漏上述场景中的内存数据。
目录服务器不再拒绝 rootdn-allow-ip
和 rootdn-deny-ip
参数中的通配符
在以前的版本中,当管理员试图在 cn=RootDN Access Control Plugin,cn=plugins,cn=config
条目中的 rootdn-allow-ip
或 rootdn-deny-ip
参数中设置通配符时,目录服务器都会拒绝这个值。在这个版本中,您可以在上述参数中指定允许或拒绝 IP 地址时,使用通配符。
如果检索系统时间失败或者时间差太大,则目录服务器会拒绝更新操作
在以前的版本中,当调用系统 time() 失败或者返回一个意外值时,目录服务器中的更改顺序号(CSN)可能会被破坏。因此,管理员需要重新初始化环境中的所有副本。在这个版本中,如果 time() 函数失败,目录服务器会拒绝更新操作,且目录服务器不会在上述场景中破坏 CSN。
请注意,如果时间差异大于一天,服务器会在 /var/log/dirsrv/slapd-<instance_name>/error
文件中记录一条 INFO - csngen_new_csn - Detected large jump in CSN time
消息。但是,目录服务器仍然创建 CSN,且不会拒绝更新操作。
更新 schema 时目录服务器不再挂起
在以前的版本中,当混合存在搜索和修改负载时,更新目录服务器的 schema 会阻断所有搜索和修改操作,服务器会出现挂起的情况。在这个版本中,会在 schema 更新过程中调整 mutex 锁定。因此,服务器在更新 schema 时不会挂起。
使用间接 COS 定义时目录服务器不再泄漏内存
在以前的版本中,在处理一个间接 Class Of Service (COS) 定义后, Directory Server 会在每个使用间接 COS 定义的搜索操作中泄漏内存。在这个版本中, Directory 服务器会在处理后释放所有与数据库条目关联的内部 COS 结构。因此,当使用间接 COS 定义时,服务器不会再泄漏内存。
使用 SSSD 发送到 AD 客户端的密码过期通知
在以前的版本中,使用 SSSD 的 Active Directory 客户端(非 IdM)不会发送密码过期通知,因为 SSSD 界面最近更改了获取 Kerberos 凭证。
Kerberos 界面已更新,现在正确发送过期通知。
KDC 现在从 LDAP 后端正确强制使用密码生命周期策略
在以前的版本中,非 IPA Kerberos 分发中心(KDC)无法确保最大密码生命周期,因为 Kerberos LDAP 后端错误地强制了密码策略。在这个版本中,Kerberos LDAP 后端已被修复,密码生命周期可以正常工作。
现在,pkidaemon
工具会在 nuxwdog
启用时报告 PKI 实例的正确的状态
在以前的版本中,pkidaemon status
命令无法报告启用了 nuxwdog
watchdog 的 PKI 服务器实例的正确状态。有了这个更新,pkidaemon
会检测是否启用了 nuxwdog
,并报告 PKI 服务器的正确状态。