ืฆื• ื‘ืึทืคืจื™ื™ึทืขืŸ Glibc ืคื•ืŸ ื“ื™ 2038 ืคึผืจืึธื‘ืœืขื, ืขืก ืื™ื– ืคืืจื’ืขืœื™ื™ื’ื˜ ืฆื• ื”ืึทืœื˜ืŸ ื ื™ืฆืŸ utmp

Thorsten Kukuk, ืคื™ืจืขืจ ืคื•ืŸ ื“ืขืจ ืฆื•ืงื•ื ืคึฟื˜ ื˜ืขื›ื ืึธืœืึธื’ื™ืข ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ื’ืจื•ืคึผืข ื‘ื™ื™ SUSE (ืคื™ื•ื˜ืฉืขืจ ื˜ืขื›ื ืึธืœืึธื’ื™ืข ืžืึทื ืฉืึทืคึฟื˜, ื“ืขื•ื•ืขืœืึธืคึผืก openSUSE MicroOS ืื•ืŸ SLE Micro), ื•ื•ืึธืก ืคืจื™ืขืจ ื’ืขืคื™ืจื˜ ื“ื™ SUSE LINUX ืขื ื˜ืขืจืคึผืจื™ื™ื– ืกืขืจื•ื•ื™ืจืขืจ ืคึผืจื•ื™ืขืงื˜ ืคึฟืึทืจ 10 ื™ืึธืจ, ืกืึทื’ื“ื–ืฉืขืกื˜ื™ื“ ืฆื• ื‘ืึทืงื•ืžืขืŸ ื‘ืึทืคืจื™ื™ึทืขืŸ ืคื•ืŸ ื“ื™ /var/run/utmp ื˜ืขืงืข ืื™ืŸ ื“ื™ืกื˜ืจื™ื‘ื™ื•ืฉืึทื ื– ืฆื• ื’ืึธืจ ืึทื“ืจืขืก ื“ื™ 2038 ืคึผืจืึธื‘ืœืขื ืื™ืŸ Glibc. ื›ืœ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื ื™ืฆืŸ utmp, wtmp ืื•ืŸ lastlog ื–ืขื ืขืŸ ืคืืจื’ืขืœื™ื™ื’ื˜ ืฆื• ื–ื™ื™ืŸ ืงืึธื ื•ื•ืขืจื˜ืขื“ ืฆื• ื‘ืึทืงื•ืžืขืŸ ืึท ืจืฉื™ืžื” ืคื•ืŸ ื™ื•ื–ืขืจื– ื ื™ืฆืŸ systemd-login.

ืื•ื™ืฃ ื™ืื ื•ืืจ 19, 2038, ื“ื™ ืขืคึผืึธืก ืฆื™ื™ื˜ ืงืึธื•ื ื˜ืขืจืก ืกืคึผืขืกื™ืคื™ืขื“ ื“ื•ืจืš ื“ื™ 32-ื‘ื™ืกืœ ืฆื™ื™ื˜_ื˜ ื˜ื™ืคึผ ื•ื•ืขื˜ ืœื•ื™ืคืŸ. Glibc, ื˜ืจืึธืฅ ื™ื ื˜ืจืึธื•ื“ื•ืกื™ื ื’ ืึท 64-ื‘ื™ืกืœ ืฆื™ื™ื˜_ื˜ ื˜ื™ืคึผ, ื”ืืœื˜ ืฆื• ื ื•ืฆืŸ ืึท 32-ื‘ื™ืกืœ ืฆื™ื™ื˜_ื˜ ื˜ื™ืคึผ ืื™ืŸ ืขื˜ืœืขื›ืข ืงืึทืกืขืก ืื•ื™ืฃ 64-ื‘ื™ืกืœ ืคึผืœืึทื˜ืคืึธืจืžืก ืฆื• ื”ืึทืœื˜ืŸ ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ ืžื™ื˜ 32-ื‘ื™ืกืœ ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–. ืื™ื™ืŸ ืึทื–ืึท ืคืึทืœ ืื™ื– ื“ื™ /var/run/utmp ื˜ืขืงืข, ื•ื•ืึธืก ืกื˜ืึธืจื– ื“ืึทื˜ืŸ ื•ื•ืขื’ืŸ ื™ื•ื–ืขืจื– ืื™ืฆื˜ ืœืึธื’ื“ ืื™ืŸ ื“ื™ ืกื™ืกื˜ืขื. ื“ื™ ืฆื™ื™ื˜ ืคืขืœื“ ืื™ืŸ utmp ืื™ื– ืกืคึผืขืกื™ืคื™ืขื“ ืžื™ื˜ ืึท 32-ื‘ื™ืกืœ time_t ื•ื•ืขืจื˜.

ืคืฉื•ื˜ ืจื™ืคึผืœื™ื™ืกื™ื ื’ ื“ื™ ืฆื™ื™ื˜ ืคืขืœื“ ืื™ืŸ utmp ืคื•ืŸ ืึท 32-ื‘ื™ืกืœ ืฆื• ืึท 64-ื‘ื™ืกืœ ื˜ื™ืคึผ ื•ื•ืขื˜ ื ื™ืฉื˜ ืึทืจื‘ืขื˜ืŸ, ื•ื•ื™ื™ึทืœ ื“ืึธืก ื•ื•ืขื˜ ืคื™ืจืŸ ืฆื• ืึท ืขื ื“ืขืจื•ื ื’ ืื™ืŸ ื“ื™ Glibc ABI (ื“ืขืจ ื˜ื™ืคึผ ื•ื•ืขื˜ ื˜ื•ื™ืฉืŸ ืื™ืŸ ืคืึทื ื’ืงืฉืึทื ื– ื•ื•ื™ ืœืึธื’ื™ืŸ (), getutid () ืื•ืŸ utmpname. ()) ืื•ืŸ ื‘ืจื™ื™ืงื™ื ื’ ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ ืžื™ื˜ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื•ื•ืึธืก ื ื•ืฆืŸ utmp, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ w, who, ื•ืคึผื˜ื™ืžืข, ืœืึธื’ื™ืŸ, ืกื•, sudo, useradd, systemd, sysvinit, tcsh, xterm ื•ื•ื™ื™ึทื– ืžืึทื ืึทื“ื–ืฉืขืจื–, emacs, openssh, qemu, samba, rsyslog, ืขื˜ืง. ืจืขื›ื˜ ืฆื• ื“ืขืจ ืฉืขืคืข ืคื•ืŸ โ€‹โ€‹ืžืขื’ืœืขืš ืคึผื™ื˜ืคืึธืœื– ืื•ืŸ ืงืึทืžืคึผืœืขืงืกื™ื˜ื™, ื“ื™ ื’ืขื“ืึทื ืง ืคื•ืŸ ืจื™ืคึผืœื™ื™ืกื™ื ื’ ื“ื™ time_t ื˜ื™ืคึผ ืื™ืŸ utmp ืื™ื– ืคืืจื•ื•ืืจืคืŸ ื“ื•ืจืš ื“ื™ Glibc ื“ืขื•ื•ืขืœืึธืคึผืขืจืก. ืคึฟืึทืจ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืกื™ื‘ื”, ื“ื™ ืึธืคึผืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื ื™ืฆืŸ ื“ื™ ื‘ื ื™ืžืฆื ืคืจื™ื™ ืคึผืœืึทืฅ ืื™ืŸ ื“ื™ ื•ื˜ืžืคึผ ืกื˜ืจื•ืงื˜ื•ืจ ืฆื• ืœื™ื™ื’ืŸ ืึทืŸ ื ืึธืš 64-ื‘ื™ืกืœ ืฆื™ื™ื˜ ืคืขืœื“ ืื™ื– ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ.

ืื™ืŸ ืึทื“ื™ืฉืึทืŸ, ื˜ืฉืึทื ื’ื™ื ื’ ื“ื™ ื˜ื™ืค ื˜ื™ืคืงื™ื™ึทื˜ ืคื•ืŸ ื“ื™ ื˜ื™ืคึผ ืื™ืŸ UTMP ืงืขืŸ ื ื™ืฉื˜ ืกืึธืœื•ื•ืข ืื ื“ืขืจืข ื™ื’ื–ื™ืกื˜ื™ื ื’ ืคึผืจืึธื‘ืœืขืžืก, ื•ื•ืึธืก ืื™ืš ื•ื•ืึธืœื˜ ืื•ื™ืš ื•ื•ื™ ืฆื• ื‘ืึทืงื•ืžืขืŸ ื‘ืึทืคืจื™ื™ึทืขืŸ ืคื•ืŸ. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืฉืจื™ื™ื‘ืŸ ืฆื• ื•ื˜ืžืคึผ ืจื™ืงื•ื•ื™ื™ืขืจื– ืกืคึผืขืฆื™ืขืœ ืจืขื›ื˜, ื•ื•ืึธืก ืจื™ืงื•ื•ื™ื™ืขืจื– ืคึผืจืึทืกืขืกืึทื– ืฆื• ื–ื™ื™ืŸ ื’ืขื’ืขื‘ืŸ ื ืึธืš ืคึผืจื™ื•ื•ื™ืœืึทื“ื–ืฉืึทื–. ืืŸ ืื ื“ืขืจ ืคึผืจืึธื‘ืœืขื ืื™ื– ืึทื– ื“ื™ ื•ื˜ืžืคึผ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืึทืœืึทื•ื– ื”ื™ื’ืข ื™ื•ื–ืขืจื– ืฆื• ื“ื•ืจื›ืคื™ืจืŸ DoS ืื ืคืืœืŸ, ื•ื•ืึธืก ืคื™ืจืŸ ืฆื• ื“ื™ืกืจืึทืคึผืฉืึทืŸ ืคื•ืŸ ื“ื™ ื•ื˜ืžืคึผ ื“ื™ื ืกื˜ ื“ื•ืจืš ืžืึทื ื™ืคึผื™ืึทืœื™ื™ืฉืึทืŸ ืคื•ืŸ ื˜ืขืงืข ืœืึทืงืก, ื•ื•ืึธืก ืžืื›ื˜ ืขืก ืื•ืžืžืขื’ืœืขืš ืฆื• ื–ื™ื™ืŸ ื–ื™ื›ืขืจ ืึทื– ื“ื™ ืื™ื ื”ืึทืœื˜ ืคื•ืŸ ื•ื˜ืžืคึผ ืคืึทืจื˜ืจืึทื›ื˜ื  ื–ื™ืš ื“ื™ ืคืึทืงื˜ื™ืฉ ืฉื˜ืึทื˜ ืื™ืŸ ื“ื™ ืกื™ืกื˜ืขื. ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืคืืจื’ืขืœื™ื™ื’ื˜ ืฆื• ื ื•ืฆืŸ ืึทืŸ ื ืึธืš ื”ื™ื ื˜ืขืจื’ืจื•ื ื˜ ืคึผืจืึธืฆืขืก ืฆื• ืฉืขืคึผืŸ ืึทืงืกืขืก ืฆื• ื•ื˜ืžืคึผ, ืึธื‘ืขืจ ืคึฟืึทืจ ืึทื–ืึท ื˜ืึทืกืงืก ืขืก ืื™ื– ืฉื•ื™ืŸ ืึท ืกื™ืกื˜ืขื-ืœืึธื’ื™ืŸ ืคึผืจืึธืฆืขืก ืื•ืŸ ืงืึทื˜ืขืจ ืืŸ ืื ื“ืขืจ ืกืคึผืขืฉืึทืœื™ื™ื–ื“ ืคึผืจืึธืฆืขืก ืื™ื– ื ื™ืฉื˜ ืงืขื“ื™ื™ึทื™ืง (ืึทืคึผืคึผืœื™ืงืึทื˜ื™ืึธื ืก ื•ื•ืขื˜ ื”ืึธื‘ืŸ ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื“ืึทื˜ืŸ ืฆื• ืฆื•ื•ื™ื™ ื”ืึทื ื“ืœืขืจืก ืกื™ื™ืžืึทืœื˜ื™ื™ื ื™ืึทืกืœื™).

ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜, ืืคื™ืœื• ื•ื•ืขืŸ ืกืึธืœื•ื•ืข ื“ื™ ืคึผืจืึธื‘ืœืขื ืžื™ื˜ DoS ืื ืคืืœืŸ, ื“ื™ ืื™ื ื”ืึทืœื˜ ืคื•ืŸ ื•ื˜ืžืคึผ ื‘ืœื™ื™ื‘ืŸ ื‘ืœื•ื™ื– ื™ื ืคืึธืจืžืึทื˜ื™ื•ื• ืื•ืŸ ื˜ืึธืŸ ื ื™ื˜ ื’ืึทืจืึทื ื˜ื™ืจืŸ ืึท ืึธืคึผืฉืคึผื™ื’ืœื•ื ื’ ืคื•ืŸ ืคืึทืงื˜. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืคืึทืจืฉื™ื“ืขื ืข ืขืžื•ืœืึทื˜ืึธืจืก ืื•ืŸ ื•ื•ืึธืงื–ืึทืœ ืžื•ืœื˜ื™ืคึผืœืขืงืกืขืจืก ืคืึทืจื˜ืจืึทื›ื˜ื  ื–ื™ืš ื–ื™ื™ืขืจ ืฉื˜ืึทื˜ ื“ื™ืคืขืจืขื ื˜ืœื™ - ื“ื™ ืงืึทื˜ืขืจ ืคื•ืŸ ืคื™ื ืฃ GNOME ื˜ืขืจืžื™ื ืึทืœืก ื•ื•ืขื˜ ืจืขื–ื•ืœื˜ืึทื˜ ืื™ืŸ ืึทื– ืื™ื™ืŸ ื‘ืึทื ื™ืฆืขืจ ืื™ื– ืฉืคื™ื’ืœื˜ ืื™ืŸ ื•ื˜ืžืคึผ, ืื•ืŸ ื“ื™ ืงืึทื˜ืขืจ ืคื•ืŸ ืคื™ื ืฃ ืงืึธื ืกืึธืœืข ืึธื“ืขืจ ืงืกื˜ืขืจื ื˜ืขืจืžื™ื ืึทืœืก ืื™ืŸ KDE ื•ื•ืขื˜ ืจืขื–ื•ืœื˜ืึทื˜ ืื™ืŸ ื–ืขืงืก. ื“ื™ ื ืึทื˜ื•ืจ ืคื•ืŸ ืคืึทืจืฉื˜ืขืœืŸ ืื•ืŸ ื˜ืžื•ืงืก ืื™ื– ืขื ืœืขืš ืึทื ื“ืขืจืฉ: ืื™ืŸ ื“ืขืจ ืขืจืฉื˜ืขืจ ืคืึทืœ, ื™ืขื“ืขืจ ืกืขืกื™ืข ืื™ื– ื’ืขืจืขื›ื ื˜ ื•ื•ื™ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ, ืื•ืŸ ืื™ืŸ ื“ื™ ืจื’ืข, ื‘ืœื•ื™ื– ืื™ื™ืŸ ื‘ืึทื ื™ืฆืขืจ ืื™ื– ืฉืคื™ื’ืœื˜ ืคึฟืึทืจ ืึทืœืข ืกืขืฉืึทื ื–.

ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜, ื•ื•ื™ ื“ื™ ืกื™ืžืคึผืœืึทืกื˜ ืœื™ื™ื–ื•ื ื’, ืขืก ืื™ื– ืคืืจื’ืขืœื™ื™ื’ื˜ ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืึทืœืข ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืฆื• ื ื•ืฆืŸ ื“ื™ ืฉื•ื™ืŸ ื™ื’ื–ื™ืกื˜ื™ื ื’ ืึธืœื˜ืขืจื ืึทื˜ื™ื•ื• ืกื™ืกื˜ืขืž-ืœืึธื’ื™ืŸ ื“ื™ื ืกื˜ ืื•ืŸ, ื ืึธืš ืขืก ื–ืขื ืขืŸ ืงื™ื™ืŸ ืงืจืึทื ื˜ ืžื’ื™ืœื” ื•ื•ืึธืก ืึทืงืกืขืก ื•ื˜ืžืคึผ, ื”ืึทืœื˜ืŸ ืจืขืงืึธืจื“ื™ื ื’ ืฆื• ื•ื˜ืžืคึผ. ืฆื• ืคืึทืจื‘ื™ื™ึทื˜ืŸ ื•ื•ื˜ืžืคึผ, ืขืก ืื™ื– ืคืืจื’ืขืœื™ื™ื’ื˜ ืฆื• ืฆื•ื’ืจื™ื™ื˜ืŸ ื•ื•ื™ื™ื›ื•ื•ืืจื’ ื™ื ื˜ืขืจืคื™ื™ืกื™ื– ืคึฟืึทืจ ืฉืจื™ื™ื‘ืŸ ืื•ืŸ ืœื™ื™ืขื ืขืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื™ื•ื–ืขืจื– ื ื™ืฆืŸ systemd-journald. ื“ื™ ืงืึธื“ืขื‘ืึทืกืข ืคึฟืึทืจ ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ืžืขืœื“ื•ื ื’ ืคื•ืŸ Systemd 254 ืฉื•ื™ืŸ ื™ื ืงืœื•ื“ื– ื“ื™ ื ื•ื™ื˜ื™ืง ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืฆื• ืฆื•ืฉื˜ืขืœืŸ ื•ื˜ืžืคึผ ืคืึทืจื‘ื™ื™ึทื˜ ื“ืึทื˜ืŸ ื“ื•ืจืš libsystemd ื ื™ืฆืŸ ื“ื™ sd-login.h API ืึธื“ืขืจ ื“ื•ืจืš DBUS.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’