今天,PHP、OpenBSD 和 FreeBSD 社区宣布更新,以修补一个涉及其 crypt() 加密算法的安全漏洞。该问题在 CVE-2012-2143 中有描述。此漏洞也会影响少数 PostgreSQL 用户,并将在 2012 年 6 月 4 日的更新版本中得到修复。
受影响的用户是在可选的 pgcrypto 模块中使用 DES 加密和 crypt(text, text) 函数的用户。受影响的密码是指包含无法用 7 位 ASCII 表示的字符的密码。如果密码包含最高位被设置(0x80)的字符,并且使用了 DES 加密,那么该字符及其之后的所有字符都将被忽略。
无法等到更新的用户,若使用的是高安全性应用,建议采取以下三种措施之一:
请注意,打补丁的用户或在 6 月 4 日应用更新的用户,由于哈希算法的更改,可能需要为部分或全部应用程序用户重新生成密码。具体来说,更新后,包含 0x80 的密码将不再有效。
PostgreSQL 项目对给用户带来的不便表示歉意。我们感谢安全研究员 Robin Xu 和 Joseph Bonneau 发现此问题。
有关 pgcrypto 模块的更多信息,请参阅 文档。