<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Обновление nginx 1.4.4 с устранением уязвимости]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=32062&amp;type=atom" />
	<updated>2013-11-20T20:26:06Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=32062</id>
		<entry>
			<title type="html"><![CDATA[Обновление nginx 1.4.4 с устранением уязвимости]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=377075#p377075" />
			<content type="html"><![CDATA[<p>Выпущены внеплановое обновление стабильной ветки http-сервера <a href="http://mailman.nginx.org/pipermail/nginx-announce/2013/000124.html">nginx 1.4.4</a> и экспериментальный выпуск <a href="http://mailman.nginx.org/pipermail/nginx-announce/2013/000123.html">nginx 1.5.7</a> в которых устранена <a href="http://mailman.nginx.org/pipermail/nginx-announce/2013/000125.html">уязвимость</a> (CVE-2013-4547), позволяющая обойти ограничения доступа к закрытым областям сайта, при наличии на сервере директорий c именем, заканчивающимся на символ пробела. Проблема выявлена командой Google Security Team и проявляется во всех выпусках начиная с версии 0.8.41.</p><p>Суть проблемы сводится к возможности обхода блоков &quot;location&quot; через косвенное обращения к ресурсу с использованием разрешённой директории с пробелом в конце имени. В частности, если на сервере публично доступна директория &quot;foo &quot; и закрыт доступ к директории &quot;protected&quot; с использованием правила &quot;location /protected/ { deny all; }&quot;, то получить доступ к содержимому директории &quot;protected&quot; можно отправив запрос &quot;/foo /../protected/file&quot; вместо &quot;/protected/fire&quot;. Другим проявлением может стать возможность обращения в форме &quot;/file \0.php&quot; к скриптам с пробелом в имени при наличии правила &quot;location ~ \.php$ { }&quot;.</p><p>При отправке таких запросов, сервер ограничивается проверкой маски в блоке до неэкранированного пробела. Причиной уязвимости является добавленный в версии nginx 0.8.41 код для обеспечения совместимости с некоторыми проблемными клиентскими приложениями, допускающий использование неэкранированных пробелов в URI, несмотря на недопустимость таких символов в протоколе HTTP (в URI должен фигурировать &quot;%20&quot;, а не &quot; &quot;).</p><p>Пользователям прошлых версий nginx предложено использовать <a href="http://nginx.org/download/patch.2013.space.txt">патч</a> или заблокировать проявление проблемы обходным путём, добавив в блок server{} конфигурации:</p><br /><div class="codebox"><pre><code>    if ($request_uri ~ &quot; &quot;) {
        return 444;
    }</code></pre></div><p>Источник: <a href="http://www.opennet.ru/opennews/art.shtml?num=38478">http://www.opennet.ru/opennews/art.shtml?num=38478</a></p>]]></content>
			<author>
				<name><![CDATA[Rizado]]></name>
				<uri>https://linuxforum.ru/profile.php?id=23158</uri>
			</author>
			<updated>2013-11-20T20:26:06Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=377075#p377075</id>
		</entry>
</feed>
