TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Why you should rely on distro maintainers for package security, not developers

1 点作者 deadbytes大约 4 年前

1 comment

SAI_Peregrinus大约 4 年前
Sadly we live in a world where distro maintainers don&#x27;t just package software, they actively patch libraries. And sometimes do things like break OpenSSL&#x27;s random number generation, thereby compromising every key generated by anyone who depended on the distro-provided OpenSSL instead of bundling their own. Using distro-provided software adds a requirement to trust the distro maintainers, it doesn&#x27;t mean you only have to trust one entity, it means you still have to trust all the developers and the distro in addition to that!<p>They then bring up the argument that distros backport security patches to old unsupported versions of software, so that they don&#x27;t have to upgrade the old unsupported versions to what upstream actively supports. That&#x27;s a silly thing to do. Just package software. Don&#x27;t patch it, unless you&#x27;re forking it and fully maintaining the fork. Not every security vulnerability ends up with a CVE. Sometimes security issues get fixed without noticing that they&#x27;re security issues, eg they show up as fixes for data corruption bugs. Maintainers only watching the CVE lists won&#x27;t see these, and will leave users running unpatched outdated software.<p>I don&#x27;t know that there are any easy answers here. Source-based distros like Gentoo have a possible way out: building from source means that the build files can be checked for what versions they&#x27;re using. So things like Cargo which lists all the versions of every dependency for every package in the package&#x27;s lockfile can be used to check if any package has a vulnerable version automatically. Then the user can be prompted to update. Cargo already has auditing tools to help with this, they just need to be used by the distro. Basically a &quot;dependabot&quot; type solution for installed packages on end user machines. But for languages that don&#x27;t have such systems (C, C++, etc) the problem is much more difficult.