История изменений
Исправление ugoday, (текущая версия) :
After the full path has been resolved, the resolved path is passed around a bit and then operated on a bit later (in the case of 'docker cp' it is opened when creating the archive that is streamed to the client). If an attacker can add a symlink component to the path *after* the resolution but *before* it is operated on, then you could end up resolving the symlink pathccomponent on the host as root. In the case of 'docker cp' this gives you read *and* write access to any path on the host.
Соответственно, для использования уязвимости нужно подготовить «a symlink component», потом маякнуть своему сообщнику, у которого есть root на хосте, чтобы он сделал специальный 'docker cp' и тогда с вероятностью 1% случится магия. Сотня другая 'docker cp' и побег удался. Изи!
Исходная версия ugoday, :
After the full path has
been resolved, the resolved path is passed around a bit and then operated on a bit later (in the case of 'docker cp' it is opened when creating the archive that is streamed to the client). If an attacker can add a symlink component to the path *after* the resolution but *before* it is operated on, then you could end up resolving the symlink path component on the host as root. In the case of 'docker cp' this gives you read *and* write access to any path on the host.
Соответственно, для использования уязвимости нужно подготовить «a symlink component», потом маякнуть своему сообщнику, у которого есть root на хосте, чтобы он сделал специальный 'docker cp' и тогда с вероятностью 1% случится магия. Сотня другая 'docker cp' и побег удался. Изи!