Завтра ошибка в GPSD приведёт к сдвигу на 19 лет назад
В пакете GPSD, применяемом для извлечения точного времени и данных о координатах из GPS-устройств, выявлена критическая проблема, из-за которой 24 октября произойдёт смещение времени на 1024 недели назад, т. е. время будет переведено на март 2002 года. Проблема проявляется в выпусках с 3.20 по 3.22 включительно и устранена в выпуске GPSD 3.23 (исправление также бэкпортировано в пакет с версией 3.22 для Debian). Всем пользователям систем, в которых используется GPSD, необходимо срочно установить обновления, или быть готовым к сбою.
Показать
Эффект от ошибки может привести к непредсказуемым сбоям на разных системах, в том числе напрямую не использующих GPSD, так как данное приложение применяется для получения данных о точном времени на некоторых NTP-серверах, используемых для синхронизации времени. При сдвиге времени в системах могут возникнуть проблемы с аутентификацией (например, перестанут срабатывать одноразовые пароли, Kerberos и другие механизмы проверки доступа, у которых есть время действия), с проверкой сертификатов и с вычислениями, манипулирующими диапазонами времени (например, расчёт времени сеанса пользователя).
GPSD также применяется в автомобильных навигаторах, дронах, роботах, в военной технике, морском и авиационном навигационном оборудовании, в различных мобильных устройствах, в том числе на базе платформы Android, для многих из которых уже не выпускаются обновления прошивок. Обычно на подобных устройствах работа GPSD связана с навигацией и не влияет на установку системного времени.
Протокол GPS предусматривает наличие счётчика недель, отсчитывающего недели начиная с 5 января 1980 года. Проблема в том, что при вещании под данный счётчик отводится всего 10 бит, что подразумевает его переполнение через каждые 1023 недели (19.7 лет). Первое переполнение произошло в 1999 году, второе в 2019, а третье произойдёт в 2038 году. Данные события отслеживаются производителями и для них предусмотрены специальные обработчики. В настоящее время параллельно внедрён новый формат GPS-сообщений (CNAV), в котором для счётчика отводится 13 бит (т. е. переполнение ожидается только в 2137 году).
В GPSD в логике корректировки появления лишней секунды (добавляется с целью синхронизации эталонных мировых атомных часов с астрономическим временем Земли) была допущена ошибка из-за которой 24 октября 2021 года преждевременно будет произведено вычитание 1024 из счётчика числа недель. По задумке автора кода сдвиг должен был произойти 31 декабря 2022 года, но перевод этой даты в число недель был выполнен не верно и фактически приведённое в проверке число недель подпадало под октябрь 2021 года (указано значение 2180 вместо 2600).
/* sanity check week number, GPS epoch, against leap seconds
* Does not work well with regressions because the leap_sconds
* could be from the receiver, or from BUILD_LEAPSECONDS. */
if (0 < session->context->leap_seconds &&
19 > session->context->leap_seconds &&
2180 < week) {
/* assume leap second = 19 by 31 Dec 2022
* so week > 2180 is way in the future, do not allow it */
week -= 1024;
GPSD_LOG(LOG_WARN, &session->context->errout,
"GPS week confusion. Adjusted week %u for leap %d\n",
week, session->context->leap_seconds);
}
Источники:
https://us-cert.cisa.gov/ncas/current-activity/2021/10/21/gps-daemon-gpsd-rollover-bug
http://www.opennet.ru/opennews/art.shtml?num=56017

Хаки и трюки
Виртуалки
Сисьадминство
BASH-скрипты
Парусные суда
Праздники
Моё чтиво
Игра KSP
Rhino Linux 8.0
бубунты (существует версия, основанная на
Дебиане), в формате Live-CD с возможностью установки предустановленными различными средами рабочего стола. Проект пилится
Cinnamon,
KDE,
Xfce,
Window Maker,
LXDE,
MATE,
Enlightenment,
Openbox. Размер файла образа винта после установки — 6,1 гигабайта.
RhinoLinux





Seminarix 20061113
кубунте (ранние версии), затем на
Sidux. Проект был создан
Skolelinux и KDE-Edu и поддерживался большим количеством компаний: HP, Intel, G-N-U, Turck и организаций: Stiftung Partner für Schule, Medienberatung NRW, Studienseminar Neuss. Дистр был предназначен для ознакомления учителей с бесплатным ПО и содержит большую коллекцию свободного ПО для обучения и тренировок. Впервые проект был опубликован в марте 2006 года. Последняя версия (2008) была выпущена в январе 2008 года. Графическая среда рабочего стола —
Seminarix
Ankur Bangla 2012x (Shishir)
Morphix’е и
Мандриве, последняя версия дистра (эта) использовала кодовую базу
GNOME. После установки размер файла образа накопителя составил 8,6 Гб.
Ankur
Retrobuntu 1.2
ксубунты +
kodi +
Retropie). Поставляется с предварительно установленным и настроенным ПО (игры не предустановлены). Существует две версии дистра: 1.2 (с Retropie и Kodi) и 2.1 (с аркадным режимом, Retropie и Kodi, ISO-файл не поставляется). Эта версия была выпущена 23 августа 2017 года. Последняя на сегодня версия (20.04) вышла 11 марта 2021 года. Теперь проект носит название RGBuntu. Рабочий стол —
Retrobuntu
Springdale 7.5 (Verona)
Red Hat Enterprise Linux, поддерживаемый сотрудниками
Springdale
BalaSwecha 14.04
Unity. Размер образа жёсткого диска после установки ОСи — 11,2 Гб.
Swecha
XtremeOS 4.0 Community
Mandriva, оптимизирован для пользователей-новичков. Релиз последней версии (этой) был 1 июня 2010 года. Дистр был доступен в нескольких вариантах: XtremeOS (просто установка на жёсткий диск), XtremeOS USB (для установки на USB-накопитель), XtremeOS OEM (установка на новые ПК с возможностью брендирования), XtremeOS EDU (версия для образовательных учреждений), XtremeOS Community (бесплатная версия только со свободными компонентами, с 1 августа 2009 года была доступна как бесплатная версия Xtreme OS Lite). Рабочий стол пользователя —
IceWM,
drak3d. После установки размер файла образа винта стал 4,4 гига.
XtremeOS
PU/IAS Linux 6.3 (Pisa)
PU/IAS
StormOS Beta 2 (Hardy Hail)
OpenSolaris, созданный на базе
Nexenta Core Platform, продукт противоестественной связи
Illumos. Разработчик —
Dyson.. Последняя версия (эта) была выпущена 11 марта 2009 года. Рабочие столы —
StormOS