Skip to content

OS Packages

Linux Distribution Packages

The apt and dnf repositories a Linux server installs and updates its software from.

  • Registries

About

Linux distributions such as Debian, Ubuntu and Red Hat Enterprise Linux build thousands of packages and publish them in signed repositories. Servers install the operating system, the web server, the runtime and often the database from them, then keep them updated. A bad package here runs as part of the operating system itself.

Install scripts run as root when a package installs or updates, often through unattended upgrades, which install updates automatically. Its services then run at every boot.

If It Is Malicious

If an OS package is malicious, it runs as part of the operating system with root rights, on every server that installs or updates it.

See It in the Stack

Examples

These are well-known names from OS Packages, written as you would meet them in an inventory, an alert or a lockfile, the file that records every version a build installed.

openssh-server
The SSH server, which the XZ Utils backdoor reached.
openssl
The encryption library under most network software.
xz-utils
Compression tools whose library carried a backdoor in 2024.
nginx
The web server, as packaged by the distribution.
sudo
Lets permitted users run commands as root.

How Bad Code Gets In

These are the ways bad code can reach your systems through OS Packages. None of them needs a flaw in your own code, so outside code needs checking as much as your own.

  • An upstream project ships a backdoor and the distribution packages it, as with XZ Utils.
  • A third-party repository added for one tool can replace any package on the server.
  • A flaw in a core package such as OpenSSL reaches every service that uses it.

How to Check

These checks show what came from OS Packages, whether a known bad version is in use, and how to keep one out next time.

  • Keep an inventory of installed packages and versions on every server and image.
  • Follow your distribution's security notices, such as Debian advisories, Ubuntu security notices or Red Hat errata.
  • Install only from signed repositories, and review any third-party repository before adding it.
  • Check for a named bad version with the package manager, for example dpkg -l or rpm -q.

Well-Known Incidents

Each incident below is a real case, told at the level of its public advisory. The tag says how the bad code got in, and the link opens the primary source.

  • Malicious UpdateCVE-2024-30942024

    XZ Utils Backdoor

    A contributor who had spent over two years earning maintainer trust hid a backdoor in the release files of xz versions 5.6.0 and 5.6.1.

    Reach On some Linux distributions it reached the SSH server, where it could have let the attacker into any machine running it. A developer caught it because SSH logins had become slightly slower, before it reached most stable releases.

    Affectedxz-utilsliblzma5

    Source: openwall.com (opens in a new tab)

In Common Stacks

These common stacks take code from OS Packages. Open one to see where that code sits among its layers and who runs each one.

Sources

Product names and logos are trademarks of their owners, shown only to name each product, with no endorsement implied. npm is a registered trademark of npm, Inc.

Apache, Apache HTTP Server, Tomcat and Log4j are trademarks of the Apache Software Foundation. Node.js® is a registered trademark of the OpenJS Foundation, and Kubernetes® of LF Projects, LLC.

Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries. Docker and the Docker logo are trademarks or registered trademarks of Docker, Inc. in the United States and/or other countries.

MongoDB® is a registered trademark of MongoDB, Inc. Redis® is a registered trademark of Redis Ltd. Any rights therein are reserved to Redis Ltd.

PHP logo by Colin Viebrock, CC BY-SA 4.0 (opens in a new tab). Ruby logo © 2006 Yukihiro Matsumoto, CC BY-SA 2.5 (opens in a new tab). Tux by Larry Ewing, with Garrett LeSage and IFo Hancroft.

Puma logo © Evan Phoenix and contributors, CC BY-ND 3.0 (opens in a new tab). NuGet logo from NuGet's Media repository, CC BY 2.0 (opens in a new tab).

Gunicorn logo © Benoît Chesneau and Paul J. Davis, MIT licence for the Gunicorn logo (opens in a new tab). Packagist logo © 2011 Jordi Boggiano and Nils Adermann, MIT licence for the Packagist logo (opens in a new tab).

MIT Licence Notices for the Gunicorn and Packagist Logos

Gunicorn logo

2009-2024 (c) Benoît Chesneau <benoitc@gunicorn.org> 2009-2015 (c) Paul J. Davis <paul.joseph.davis@gmail.com>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Packagist logo

Copyright (c) 2011 Jordi Boggiano, Nils Adermann

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.