Fedora 正在考虑禁止不同 CPU 字节顺序的 X.Org/XWayland 客户端连接到 X.Org 服务器。X.Org Server 和客户端之间的这种不同字节顺序的组合如今很少见,但却是 X.Org Server 的另一个“大型攻击面”,需要解决。
已提交 Fedora 38 更改提案以禁止字节交换的 X.Org 服务器客户端。上游 X.Org 服务器还有一个未决更改,该更改也将禁用字节交换客户端。
Red Hat 的 Peter Hutterer 在F38 变更提案中解释道:
“X 服务器实现(例如 Xorg 和 Xwayland)允许具有不同于服务器端字节序的客户端进行连接。进出这些客户端的协议消息由 X 服务器进行字节交换。但是,X 服务器中的代码确实如此这实际上是未经测试的,为恶意客户端提供了很大的攻击面。人们只需要查看例如这个 X.Org 安全公告并计算 SProc 提到的次数,以指示这有多糟糕。消除此攻击面的简单解决方案是禁止具有不同字节顺序的客户端。这些客户端将简单地失败,类似于无法针对 X 服务器进行身份验证。
具有不同字节序的客户端的用例非常小众。这在 1980 年代最初开发 X 时很常见,但此时只有极少数用户在不同机器上运行客户端和 X 服务器,更不用说在具有不同字节顺序的不同机器上了。如果 Fedora 有任何用户需要此功能,我会感到惊讶。”
对于上游 X.Org 服务器,有一个由 Peter 编写的新合并请求,默认情况下不允许字节交换客户端。对于 Fedora 和提议的上游更改,当前允许字节交换客户端的行为可以通过“AllowSwappedClients”服务器标志或“+byte-swapped-clients”选项恢复。
此安全更改最初是在一年前提出的,“ X 中的交换字节序支持是大量很少使用的代码。由于它很少使用并且是手写的,因此很可能存在严重的错误,这些错误已经未被发现。其中一些错误很可能具有安全隐患。 ”
同样,现代环境中的任何人很少会受到此更改的影响,但这反过来又是对这个老化且庞大的代码库的另一项安全改进,在过去十年中发布了越来越多的安全建议。如果您确实发现自己从 x86_64 系统连接到 IBM s390x 或 PPC64 服务器以远程 X11 使用图形应用程序,除了使用建议的允许字节交换客户端的选项之外,还有其他选择,即使用替代解决方案,如 VNC。