Bug#943716: systemd: generates a directory name with the /etc/machine-id value, which is confidential
Vincent Lefevre
vincent at vinc17.net
Mon Oct 28 14:23:58 GMT 2019
Package: systemd
Version: 242-7
Severity: important
Tags: security
systemd generates a directory name under /var/log/journal with
the /etc/machine-id value, which is confidential according to
the machine-id(5) man page:
This ID uniquely identifies the host. It should be considered
"confidential", and must not be exposed in untrusted environments, in
particular on the network. If a stable unique identifier that is tied
to the machine is needed for some application, the machine ID or any
part of it must not be used directly. Instead the machine ID should be
hashed with a cryptographic, keyed hash function, using a fixed,
application-specific key. That way the ID will be properly unique, and
derived in a constant way from the machine ID but there will be no way
to retrieve the original machine ID from the application-specific one.
The sd_id128_get_machine_app_specific(3) API provides an implementation
of such an algorithm.
This directory name is not directly exposed on the network, but most
users do not know where it comes from and that it is confidential,
so that it may end up on the net, e.g. in debugging exchanges and
when asking for help. An example:
https://forum.ubuntu-fr.org/viewtopic.php?pid=21992288#p21992288
As a consequence, the machine-id is also present in journalctl output,
which may also end up on the net.
BTW, the fact that this ID is available in a file, in particular
word-readable, instead of an API to generate a hash, is a bad idea.
-- Package-specific info:
-- System Information:
Debian Release: bullseye/sid
APT prefers unstable-debug
APT policy: (500, 'unstable-debug'), (500, 'stable-updates'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 5.3.0-1-amd64 (SMP w/12 CPU cores)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=POSIX, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=POSIX (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages systemd depends on:
ii adduser 3.118
ii libacl1 2.2.53-5
ii libapparmor1 2.13.3-5+b1
ii libaudit1 1:2.8.5-2
ii libblkid1 2.34-0.1
ii libc6 2.29-2
ii libcap2 1:2.25-2
ii libcryptsetup12 2:2.2.1-1
ii libgcrypt20 1.8.5-3
ii libgnutls30 3.6.9-5
ii libgpg-error0 1.36-7
ii libidn2-0 2.2.0-2
ii libip4tc2 1.8.3-2
ii libkmod2 26-3
ii liblz4-1 1.9.1-2
ii liblzma5 5.2.4-1+b1
ii libmount1 2.34-0.1
ii libpam0g 1.3.1-5
ii libpcre2-8-0 10.32-5+b1
ii libseccomp2 2.4.1-2
ii libselinux1 2.9-2+b2
ii libsystemd0 242-7
ii mount 2.34-0.1
ii util-linux 2.34-0.1
Versions of packages systemd recommends:
ii dbus 1.12.16-2
ii libpam-systemd 242-7
Versions of packages systemd suggests:
ii policykit-1 0.105-26
pn systemd-container <none>
Versions of packages systemd is related to:
pn dracut <none>
ii initramfs-tools 0.135
ii udev 242-7
-- Configuration Files:
/etc/systemd/journald.conf changed:
[Journal]
Storage=persistent
/etc/systemd/system.conf changed:
[Manager]
DefaultTimeoutStopSec=20s
-- no debconf information
More information about the Pkg-systemd-maintainers
mailing list