Microsoft открыла исходный код MS-DOS 4.00, пожирающего оперативку

Microsoft открыла исходный код MS-DOS 4.00, пожирающего оперативку

Microsoft открыла исходный код MS-DOS 4.00, пожирающего оперативку

На этой неделе Microsoft совместно с IBM открыла доступ к исходному коду MS-DOS 4.00 — сборке 1988 года. Эта версия известна своей непопулярностью среди пользователей, ошибками, требовательностью к оперативной памяти и плохой производительностью.

Компания выложила в открытый доступ код MS-DOS 4.00 на страницу Microsoft MS-DOS в GitHub вместе с версиями 1.25 и 2.0, которые пользователи могут скачать еще с 2014 года.

Все версии DOS с открытым исходным кодом были выпущены под лицензией MIT. Предполагалось, что DOS 4.00 должна была добавить многозадачность в ОС, позволяющую запускать программы в фоновом режиме.

Эта версия DOS, которую также иногда называют «MT-DOS» или «Multitasking MS-DOS», была выпущена только несколькими европейскими производителями компьютеров и никогда не была самостоятельным розничным продуктом.

Вышедший на этой неделе исходный код не относится к многозадачной версии DOS 4.00, а специалистам Microsoft не удалось найти полный исходный код для MT-DOS.

Совершенно отдельная версия DOS 4.00 разработана компаниями в основном для добавления дополнительных функций к существующей версии DOS, которая работала на большинстве IBM PC и клонах PC того времени, не обладая при этом многозадачностью.

MS-DOS версий 5.x и 6.x продолжает работать в режиме «одно приложение в одно время», как это было у предыдущих версий. К сожалению, идея многозадачности DOS всё так же не осуществлена. Данная функция стала привилегией графических операционных систем, таких как Windows и OS/2.

Выпущенная версия MS-DOS 4.00 характерна большим потреблением памяти. Она может занимать до 92 КБ RAM, что намного больше, чем 56 КБ, используемых MS-DOS 3.31. Версия 4.01 сократила этот показатель до 86 КБ, а более поздние релизы MS-DOS 5.0 и 6.0 занимали максимум 72 или 73 КБ, и даже PC DOS 2000 от IBM требовала всего 64 КБ.

В те времена это было бы огромной проблемой, так как оперативная память стоила немалых денег, максимальный объем достигал 640 КБ, а виртуальной памяти просто не существовало.

За прошедшие годы компания Microsoft открыла доступ к некоторым другим фрагментам компьютерной истории, включая старые версии MS-DOS, Word for Windows 1.1a, GW-BASIC 1983 года и оригинальный файловый менеджер Windows.

Файловый менеджер Windows, в отличии от других программ, претерпел обновления и сейчас активно поддерживается.

Изначально программа была доработана, чтобы запускаться на современных 64-битных и Arm-компьютерах под управлением Windows 10 и 11, но уже в марте 2024 года ее дополнили новыми исправлениями и функциями.

Критическая уязвимость в TLP позволяет обойти защиту Linux

В популярной утилите TLP, которую многие владельцы ноутбуков на Linux используют для управления энергопотреблением, обнаружили критическую уязвимость. Причём проблема нашлась во время обычной проверки пакета командой SUSE Security Team и располагается во вполне штатном коде.

Брешь получила идентификатор CVE-2025-67859 и затрагивает версию TLP 1.9.0, где появился новый profiles daemon.

Этот демон работает с root-правами и управляет профилями питания через D-Bus. Задумка хорошая, но реализация подвела: в механизме аутентификации Polkit нашлась логическая ошибка, которая фактически позволяет обойти проверку прав.

Как объясняют исследователи, демон должен был строго проверять, кто именно отправляет команды. Но из-за ошибки любой локальный пользователь мог взаимодействовать с ним без должной аутентификации — а значит, менять системные настройки питания от имени root.

На этом сюрпризы не закончились. В ходе анализа специалисты SUSE нашли ещё несколько проблем, уже связанных с исчерпанием ресурсов. В частности, механизм profile hold, который позволяет временно «зафиксировать» профиль питания, оказался совершенно без валидации. Локальный пользователь мог создавать неограниченное количество таких блокировок, причём без прав администратора.

В итоге это открывает прямую дорогу к DoS-атаке: демон начинает захлёбываться от бесконечных записей в структуре данных, куда попадают числа, строки с причиной и идентификаторы приложений — всё это полностью контролируется клиентом.

Любопытно, что SUSE вспомнила похожую историю с демоном управления питанием в GNOME: аналогичную проблему находили ещё несколько лет назад. Отдельно исследователи отметили вопросы к механизму «куки», которыми отслеживаются profile hold. Формально речь шла о предсказуемости значений, но в сочетании с отсутствием лимитов это лишь расширяло поверхность атаки.

К счастью, реакция была быстрой. SUSE сообщила об уязвимостях разработчикам ещё в декабре, и в версии TLP 1.9.1 проблема уже закрыта. В частности, число одновременных profile hold теперь жёстко ограничено числом 16, что убирает риск истощения ресурсов.

RSS: Новости на портале Anti-Malware.ru