
Уже более месяца с 17 июня 2020 года тысячи обладателей домашних кинотеатров, стерео систем и Blu-ray плееров Samsung по всему миру не могут пользоваться своими домашними электронными устройствами. Их техника после включения уходит в цикличную перезагрузку.
Производитель только в середине июля 2020 года признал эту проблему и просит всех пострадавших пользователей переслать или привезти сломанное оборудование на бесплатный ремонт в сервисный центр, причем стоимость отправки также будет компенсирована. Samsung пояснила, что подобная поломка возникла из-за отправленного ранее по сети на все устройства файла XML, который содержал ошибку внутри. Именно из-за нее тысячи устройств компании стали после включения уходить в цикличную перезагрузку. Вдобавок, из-за того, что сбой в работе устройств происходит в начале загрузочной процедуры, именно тогда идет обработка файла некорректного файла XML, то сбросить устройство до начальных установок или перепрошить в домашних условиях невозможно.
Таким образом, Samsung сама себе создала серьезную проблему, которая затрагивает сразу множество домашних мультимедиа устройств Samsung, а не только одну модель или линейку оборудования. В инциденте пострадали следующие устройства, согласно сообщениям пользователей: Samsung HT-J4550/XU, BD-JM51, HT-J4200/4500/5530, BD J5100/5700/5900, BD-JM57C, HT-J5500W и другие модели домашних кинотеатров, стерео систем и Blu-ray плееров, включая очень старые, например, BD-P1590. Большая часть этих устройств подключается к сети интернет по кабелю или беспроводным способом для показа контента с различных онлайн-ресурсов, а также получения обновлений.
Некоторое время американские и европейские пользователи пострадавших устройств пытались совместно понять причину их поломки и найти хоть какое-нибудь решение. Российские пользователи домашнего оборудования Samsung также столкнулись с этой проблемой. Однако, пока что единственный способ восстановить устройство отправить его в СЦ.
Пользователь с инженерным образованием по имени Gray рассказал изданию Register о своем расследовании этой проблемы с вышедшими из строя Blu-ray плеерами. По его версии Samsung периодически проверяет по сети все свои устройства на соответствие текущим системным политикам компании. После обновления политик на серверах Samsung выкладываются новые файлы XML, которые передаются на пользовательские устройства и сохраняются там во флэш-памяти. Причем системное программное обеспечение Blu-ray плееров не имеет приоритета для удаления или игнорирования этих файлов, если в них есть ошибки.
Оказалось, что до 18 июня 2020 года все проверки обновления политик проходили успешно и без проблем, так как на серверах Samsung были корректные файлы XML. Каждое устройство стандартно обращалось по сети по адресу «configprd.samsungcloudsolution.net/openapi/dict/logpolicyconfig» и получало по необходимости обновления файла XML, причем это делалось в автоматическом режиме без согласия пользователя и не является частью процедуры обновлении прошивки, а отключить этот процесс пользователь не может, да и о нем ему неизвестно.
18 июня 2020 года ближе к вечеру на серверах Samsung был обновлен файл XML для большинства устройств. Но в нем содержалась ошибка (пустой список list), из-за которой устройства не могли правильно транслировать необходимую последовательность действий, зависали и перезагружались.
<?xml version="1.0"?> <Policy>
<period val="2020-06-18T17:00:01"/> <server type="operating"/>
<list/>
</Policy>
Фактически системное программное обеспечение (bdpprog) многих Blu-ray плееров не могло обработать этот файл с ошибкой, а при попытке его выполнения создавалась недопустимая ссылка во внутренней памяти устройства, переход по которой приводил к завершению процедуры загрузки и перезапуску системы, перезагрузка, отключение от сети, попытки вернуться к заводским настройкам — это не помогало в данном случае.
Позже выяснилось, что для исправления этой глобальной ситуации требуется физический доступ ко всем сломанным устройствам и выполнение определенного процесса низкоуровневой отладки работы компонентов на пострадавших Blu-ray плеерах, вплоть до пайки проводов на контроллеры устройств для его соединения с внешним программатором.
Также оказалось, что специалисты Samsung только 27 июня 2020 года разобрались в этой ситуации и заменили файл XML на корректный, до этого момента устройства выходили из строя по всему миру, как только их подключали к сети. Ранее некоторые пользователи предположили, что эта проблема была связана с истекающими сертификатами SSL, но это оказалось не так.
Samsung не названа точное количество сломанных из-за этой ошибки домашних мультимедиа устройств и не пояснила, почему некорректный файл XML был выложен на сервера компании без проверки его содержимого.
См. также:
Vindicar
Слишком умные устройства.
v1000
Слишком глупая компания («некорректный файл XML был выложен на сервера компании без проверки его содержимого.»)
n0isy
Слишком хитрая компания, которая допускает вообще удаленную загрузку кода в бут. Хотя кого это подобные бэкдоры удивят…
McDuk
Удалённую загрузку конфига без верификации ни на сервере, ни на клиенте, и без тестирования. Тоже неплохо.
Железо у них неплохое, а вот софт странный.
defecator
«хочется бабла» ©
потому и странный
JerleShannara
«Маяк-Маяк и в продакшен» (цэ)
Pro-dev-pm
Программка для материнки от ASUS, типа интерфейс для кучи утилит. Есть три режима работы — производительный, экономный и режим отсутствия (выключается монитор и понижается по максимуму питание процессора), так вот, при уходе в режим отсутствия можно выбрать функцию выключить звук… и при выключении звука с выключенным звуком вручную — он внезапно включается, потому что выключение реализовано просто изменением состояния на противоположное без проверки выключен ли звук был до этого. Это мелочь, согласен, и у самсунгов такая же, про маяк-маяк) я уже не удивляюсь таким факапам.
DrunkBear
Когда пишешь софт, который может подгружать параметры и прошивки — всегда стоит считать, что пользователи будут опасными, но в чём — то гениальными идиотами, а поддержка придёт нетрезвой после праздника Святой Коровы и обеспечивать верификацию загружаемых данных вместе с откатом на последнюю рабочую версию.
Elmot
Тут-то не пользователь идиот, здесь самсунговский сервер идиот. Благородный дон в блестящих доспехах поражен в небронированную задницу.
JerleShannara
Да там не код удаленный скорее всего, а говнокод, который от неправильной выдачи парсера XML скорее всего либо формирует jmp на недопустимый адрес, либо бесконечный цикл, из которого его watchdog перезагрузкой выкидывает.
Wesha
Слишком тупой программист, который не сделал проверку на NULL в строчке вида
item = list[1]; download(item)