![如何获取最新的 dnsmasq 版本?](https://linux22.com/image/933916/%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E6%9C%80%E6%96%B0%E7%9A%84%20dnsmasq%20%E7%89%88%E6%9C%AC%EF%BC%9F.png)
我想更新到 dnsmasq 的最新版本 (2.83)。我先sudo apt update
尝试sudo apt upgrade
更新机器上安装的软件和库。然后我用 检查了我的 dnsmasq 版本,dnsmasq -v
但版本是 2.80。
我如何获取最新版本?我查看了 dnsmasq 网站并下载了看似最新版本的版本,但在下载中找不到实际的 dnsmasq 二进制文件。
提前致谢。
答案1
让我们带您了解单个 CVE,您可以自己完成剩下的工作。
先决条件:您没有说出您的 Ubuntu 版本,但我们假设它是 Ubuntu 20.04,因为只有 20.04 使用 dnsmasq 2.80。
CVE 列表您提供的是
- CVE-2020-25681
- CVE-2020-25682
- CVE-2020-25683
- CVE-2020-25687
插入一个 CVE(“CVE-2020-25687”)进入https://ubuntu.com/security/cve
获取结果
- 请注意发布日期(未图示:2021 年 1 月 19 日)
- 注意优先级(未显示:中等)。优先级较高的 CVE 修补速度更快。优先级较低的 CVE 有时不会被修补,或者与问题无关
- 结果是:CVE-2020-25687 在 dnsmasq 软件包版本 2.80-1.1ubuntu1.2 中针对 20.04 进行了修补。
- 作为支票,让我们看看dnsmasq 软件包的更新日志
dnsmasq (2.80-1.1ubuntu1.2) focal-security; urgency=medium
* SECURITY UPDATE: Multiple security issues
- CVE-2020-25681: heap overflow in RRSets sorting
- CVE-2020-25682: buffer overflow in extracting names from DNS packets
- CVE-2020-25683: heap overflow in DNSSEC validation
- CVE-2020-25684: cache poisoning issue via address/port
- CVE-2020-25685: cache poisoning issue via weak hash
- CVE-2020-25686: birthday attack via incorrect existing requests check
- CVE-2020-25687: heap overflow in DNSSEC validation
- CVE-2019-14834: memory leak via DHCP response creation
-- Marc Deslauriers <[email protected]> Fri, 08 Jan 2021 09:59:59 -0500
让我们来一探究竟如果我们运行的是修补版本。
- 您不能使用
dnsmasq -v
。已打补丁和未打补丁的版本都会正确显示版本 2.80。打补丁只会将版本从 2.80-1.1ubuntu1.1 提升到 2.80-1.1ubuntu1.2。
因此,我们来询问 dpkg 或 apt
- 您不能使用
you@YourSystem:~$ dpkg -l | grep dnsmasq
ii dnsmasq 2.80-1.1ubuntu1.2
amd64 Small caching DNS proxy and DHCP/TFTP server
you@YourSystem:~$ apt list dnsmasq-base
Listing... Done
dnsmasq/focal-security,now 2.80-1.1ubuntu1.2 amd64 [installed]
Ubuntu 的无人值守升级功能会自动安装安全升级,这样你就和我一样,已经在运行修补版本了无需告诉系统做任何事情。
答案2
如果你关心安全,那么你应该知道所有最近的安全修复都已移植到软件包版本。安装手动编译的 2.83 是多余的,也是不必要的。
因此他们已经修复了这个问题 - 请参阅Ubuntu 20.04 LTS 的更新日志和https://ubuntu.com/security/cve?package=dnsmasq适用于所有版本。
答案3
使用 apt 可以获得最新的“打包”版本 - Ubuntu 打包的版本可能并不总是最新版本。
我假设你使用的是 Ubuntu 20.04,因为 2.80 是那里最新的软件包版本,但 Ubuntu 20.10 附带 2.82,你可以搜索软件包这里。
看看Dnsmasq 网站它说 tarball 只包含源代码,没有可用的二进制版本。所以你必须自己构建它。
我相信网上有很多关于这个主题的指南/资源,所以我就不尝试在这里介绍它了。