Glibc рд▓рд╛ 2038 рдЪреНрдпрд╛ рд╕рдорд╕реНрдпреЗрдкрд╛рд╕реВрди рдореБрдХреНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, utmp рд╡рд╛рдкрд░рдгреЗ рдерд╛рдВрдмрд╡рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдЖрд╣реЗ

SUSE (рдлреНрдпреВрдЪрд░ рдЯреЗрдХреНрдиреЙрд▓реЙрдЬреА рдЯреАрдо, openSUSE MicroOS рдЖрдгрд┐ SLE Micro рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ) рдордзреАрд▓ рднрд╡рд┐рд╖реНрдпрд╛рддреАрд▓ рддрдВрддреНрд░рдЬреНрдЮрд╛рди рд╡рд┐рдХрд╛рд╕ рдЧрдЯрд╛рдЪреЗ рдиреЗрддреЗ рдереЛрд░рд╕реНрдЯреЗрди рдХреБрдХреБрдХ, рдЬреНрдпрд╛рдВрдиреА рдпрд╛рдкреВрд░реНрд╡реА 10 рд╡рд░реНрд╖реЗ SUSE LINUX рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЭ рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреЗ рдиреЗрддреГрддреНрд╡ рдХреЗрд▓реЗ рд╣реЛрддреЗ, рддреНрдпрд╛рдВрдиреА /var/run/utmp рдлрд╛рдЗрд▓рдкрд╛рд╕реВрди рдореБрдХреНрдд рд╣реЛрдгреНрдпрд╛рдЪреЗ рд╕реБрдЪрд╡рд▓реЗ. Glibc рдордзреАрд▓ 2038 рд╕рдорд╕реНрдпреЗрдЪреЗ рдкреВрд░реНрдгрдкрдгреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд┐рддрд░рдгрд╛рдВрдордзреНрдпреЗ. utmp, wtmp рдЖрдгрд┐ рд▓рд╛рд╕реНрдЯрд▓реЙрдЧ рд╡рд╛рдкрд░рдгрд╛рд░реЗ рд╕рд░реНрд╡ рдЕрдиреБрдкреНрд░рдпреЛрдЧ systemd-logind рд╡рд╛рдкрд░реВрди рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреА рдпрд╛рджреА рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдЖрд╣реЗ.

19 рдЬрд╛рдиреЗрд╡рд╛рд░реА, 2038 рд░реЛрдЬреА, 32-рдмрд┐рдЯ time_t рдкреНрд░рдХрд╛рд░рд╛рдиреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓реЗ epochal рдЯрд╛рдЗрдо рдХрд╛рдЙрдВрдЯрд░ рдУрд╡реНрд╣рд░рдлреНрд▓реЛ рд╣реЛрддреАрд▓. Glibc, 64-рдмрд┐рдЯ time_t рдкреНрд░рдХрд╛рд░ рд╕рд╛рджрд░ рдХрд░реВрдирд╣реА, 32-рдмрд┐рдЯ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╕реНрдкреЗрд╕ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рд╕рд╣ рд╕реБрд╕рдВрдЧрддрддрд╛ рд░рд╛рдЦрдгреНрдпрд╛рд╕рд╛рдареА 64-рдмрд┐рдЯ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░ рдХрд╛рд╣реА рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ 32-рдмрд┐рдЯ time_t рдкреНрд░рдХрд╛рд░ рд╡рд╛рдкрд░рдгреЗ рд╕реБрд░реВ рдареЗрд╡рддреЗ. рдЕрд╢реАрдЪ рдПрдХ рдХреЗрд╕ /var/run/utmp рдлрд╛рдЗрд▓ рдЖрд╣реЗ, рдЬреА рд╕рдзреНрдпрд╛ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рд▓реЙрдЧ рдЗрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪрд╛ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ. utmp рдордзреАрд▓ рд╡реЗрд│ рдлреАрд▓реНрдб 32-рдмрд┐рдЯ time_t рдореВрд▓реНрдп рд╡рд╛рдкрд░реВрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ.

рдлрдХреНрдд 32-рдмрд┐рдЯ рд╡рд░реВрди 64-рдмрд┐рдЯ рдкреНрд░рдХрд╛рд░рд╛рдд utmp рдордзреАрд▓ рдЯрд╛рдЗрдо рдлреАрд▓реНрдб рдмрджрд▓рдгреЗ рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░ рдирд╛рд╣реА, рдХрд╛рд░рдг рдпрд╛рдореБрд│реЗ Glibc ABI рдордзреНрдпреЗ рдмрджрд▓ рд╣реЛрдИрд▓ (рдкреНрд░рдХрд╛рд░ login(), getutid() рдЖрдгрд┐ utmpname рд╕рд╛рд░рдЦреНрдпрд╛ рдлрдВрдХреНрд╢рдиреНрд╕рдордзреНрдпреЗ рдмрджрд▓реЗрд▓. ()) рдЖрдгрд┐ w, who, uptime, login, su, sudo, useradd, systemd, sysvinit, tcsh, xterm рдбрд┐рд╕реНрдкреНрд▓реЗ рдореЕрдиреЗрдЬрд░, emacs, openssh, qemu, samba, rsyslog, рдЗ. рд╕рд╣ utmp рд╡рд╛рдкрд░рдгрд╛рд░реНтАНрдпрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рд╕рд╣ рд╕реБрд╕рдВрдЧрддрддрд╛ рддреЛрдбрдгреЗ. рд╕рдВрднрд╛рд╡реНрдп рдЕрдбрдЪрдгреА рдЖрдгрд┐ рдЬрдЯрд┐рд▓рддреЗрдЪреНрдпрд╛ рд╡рд┐рдкреБрд▓рддреЗрдореБрд│реЗ, utmp рдордзреНрдпреЗ time_t рдкреНрд░рдХрд╛рд░ рдмрджрд▓рдгреНрдпрд╛рдЪреА рдХрд▓реНрдкрдирд╛ Glibc рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдиреА рдирд╛рдХрд╛рд░рд▓реА. рддреНрдпрд╛рдЪ рдХрд╛рд░рдгрд╛рд╕реНрддрд╡, рдЕрддрд┐рд░рд┐рдХреНрдд 64-рдмрд┐рдЯ рд╡реЗрд│ рдлреАрд▓реНрдб рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА utmp рд╕рдВрд░рдЪрдиреЗрддреАрд▓ рдЙрдкрд▓рдмреНрдз рдореЛрдХрд│реА рдЬрд╛рдЧрд╛ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рдкрд░реНрдпрд╛рдп рдЯрд╛рдХреВрди рджрд┐рд▓рд╛ рдЧреЗрд▓рд╛.

рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, utmp рдордзреНрдпреЗ рдкреНрд░рдХрд╛рд░ рдмрд┐рдЯ рдЦреЛрд▓реА рдмрджрд▓рд▓реНрдпрд╛рдиреЗ рдЗрддрд░ рд╡рд┐рджреНрдпрдорд╛рди рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рд╣реЛрдд рдирд╛рд╣реА, рдЬреНрдпрд╛рдкрд╛рд╕реВрди рдореА рд╕реБрдЯрдХрд╛ рдХрд░реВ рдЗрдЪреНрдЫрд┐рддреЛ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, utmp рд╡рд░ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд┐рд╢реЗрд╖ рдЕрдзрд┐рдХрд╛рд░рд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рддреЗ, рдЬреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрдирд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рддреЗ. рджреБрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рдЕрд╢реА рдЖрд╣реЗ рдХреА utmp рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╕реНрдерд╛рдирд┐рдХ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ DoS рд╣рд▓реНрд▓реЗ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ, рдЬреНрдпрд╛рдореБрд│реЗ рдлрд╛рдЗрд▓ рд▓реЙрдХрдЪреНрдпрд╛ рд╣рд╛рддрд╛рд│рдгреАрджреНрд╡рд╛рд░реЗ utmp рд╕реЗрд╡реЗрдордзреНрдпреЗ рд╡реНрдпрддреНрдпрдп рдпреЗрддреЛ, рдЬреНрдпрд╛рдореБрд│реЗ utmp рдЪреА рд╕рд╛рдордЧреНрд░реА рд╕рд┐рд╕реНрдЯрдордордзреАрд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдерд┐рддреА рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рддреЗ рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рдгреЗ рдЕрд╢рдХреНрдп рд╣реЛрддреЗ. utmp рд╡рд░ рдкреНрд░рд╡реЗрд╢ рд╣рд╛рддрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реЛрддрд╛, рдкрд░рдВрддреБ рдЕрд╢рд╛ рдХрд╛рд░реНрдпрд╛рдВрд╕рд╛рдареА рдЖрдзреАрдЪ рдПрдХ systemd-logind рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрд╣реЗ рдЖрдгрд┐ рджреБрд╕рд░реА рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реБрд░реВ рдХрд░рдгреЗ рдЙрдЪрд┐рдд рдирд╛рд╣реА (рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдирд╛ рдПрдХрд╛рдЪ рд╡реЗрд│реА рджреЛрди рд╣рдБрдбрд▓рд░рдХрдбреЗ рдбреЗрдЯрд╛ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рд╛рд╡рд╛ рд▓рд╛рдЧреЗрд▓).

рддреНрдпрд╛рдЪ рд╡реЗрд│реА, DoS рд╣рд▓реНрд▓реНрдпрд╛рдВрд╕рд╣ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рддрд╛рдирд╛ рджреЗрдЦреАрд▓, utmp рдЪреА рд╕рд╛рдордЧреНрд░реА рдХреЗрд╡рд│ рдорд╛рд╣рд┐рддреАрдкреВрд░реНрдг рд░рд╛рд╣рддреЗ рдЖрдгрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддреЗрдЪреНрдпрд╛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд╛рдЪреА рд╣рдореА рджреЗрдд тАЛтАЛтАЛтАЛрдирд╛рд╣реА. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рднрд┐рдиреНрди рдЕрдиреБрдХрд░рдгрдХрд░реНрддреЗ рдЖрдгрд┐ рдЯрд░реНрдорд┐рдирд▓ рдорд▓реНрдЯрд┐рдкреНрд▓реЗрдХреНрд╕рд░реНрд╕ рддреНрдпрд╛рдВрдЪреА рд╕реНрдерд┐рддреА рд╡реЗрдЧрд│реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рддрд╛рдд - рдкрд╛рдЪ GNOME рдЯрд░реНрдорд┐рдирд▓реНрд╕ рд▓рд╛рдБрдЪ рдХреЗрд▓реНрдпрд╛рдиреЗ рдПрдХ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ utmp рдордзреНрдпреЗ рдкрд░рд╛рд╡рд░реНрддрд┐рдд рд╣реЛрдИрд▓, рдЖрдгрд┐ KDE рдордзреНрдпреЗ рдкрд╛рдЪ konsole рдХрд┐рдВрд╡рд╛ xterm рдЯрд░реНрдорд┐рдирд▓ рд▓рд╛рдБрдЪ рдХреЗрд▓реНрдпрд╛рдиреЗ рд╕рд╣рд╛ рд╣реЛрддреАрд▓. рд╕реНрдХреНрд░реАрди рдЖрдгрд┐ tmux рдЪреЗ рд╡рд░реНрддрди рд╕рд╛рд░рдЦреЗрдЪ рд╡реЗрдЧрд│реЗ рдЖрд╣реЗ: рдкрд╣рд┐рд▓реНрдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдкреНрд░рддреНрдпреЗрдХ рд╕рддреНрд░ рд╕реНрд╡рддрдВрддреНрд░ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдореНрд╣рдгреВрди рдЧрдгрд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рджреБрд╕рд▒реНрдпрд╛рдордзреНрдпреЗ, рд╕рд░реНрд╡ рд╕рддреНрд░рд╛рдВрд╕рд╛рдареА рдлрдХреНрдд рдПрдХ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рд╣реЛрддреЛ.

рдкрд░рд┐рдгрд╛рдореА, рд╕рд░реНрд╡рд╛рдд рд╕реЛрдкрд╛ рдЙрдкрд╛рдп рдореНрд╣рдгреВрди, рдЖрдзреАрдЪ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЕрд╕рд▓реЗрд▓реА рдкрд░реНрдпрд╛рдпреА systemd-logind рд╕реЗрд╡рд╛ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдЖрд╣реЗ рдЖрдгрд┐ utmp рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгрд╛рд░реЗ рдХреЛрдгрддреЗрд╣реА рд╡рд░реНрддрдорд╛рди рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд╕рд▓реНрдпрд╛рдирдВрддрд░, utmp рд╡рд░ рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ рдерд╛рдВрдмрд╡рд╛. wtmp рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА, systemd-journald рд╡рд╛рдкрд░рдгрд╛рд▒реНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╡рд╛рдЪрдгреНрдпрд╛рд╕рд╛рдареА рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдЖрд╣реЗ. systemd 254 рдЪреНрдпрд╛ рдкреБрдвреАрд▓ рдкреНрд░рдХрд╛рд╢рдирд╛рд╕рд╛рдареА рдХреЛрдбрдмреЗрд╕рдордзреНрдпреЗ sd-login.h API рд╡рд╛рдкрд░реВрди рдХрд┐рдВрд╡рд╛ DBUS рджреНрд╡рд╛рд░реЗ libsystemd рджреНрд╡рд╛рд░реЗ utmp рдмрджрд▓реА рдбреЗрдЯрд╛ рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЖрдзреАрдЪ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛