<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>14052</bug_id>
          
          <creation_ts>2008-01-17 11:41:42 +0300</creation_ts>
          <short_desc>Incorrect parsing X-Forwarded-For header with multiple IPs</short_desc>
          <delta_ts>2009-04-09 23:51:06 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>apache2-mod_rpaf</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>WORKSFORME</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolay A. Fetisov">naf</reporter>
          <assigned_to name="Boris Savelev">boris</assigned_to>
          <cc>vvk</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>61276</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolay A. Fetisov">naf</who>
    <bug_when>2008-01-17 11:41:42 +0300</bug_when>
    <thetext>При прохождении запроса через несколько прокси-серверов в заголовке 
X-Forwarded-For может содержаться не один IP, а их список (с разделителями &apos;,&apos; 
или &apos;;&apos;). Т.е., например, в случае
  client -&gt; Squid1 -&gt; Squid2 -&gt; nginx -&gt; Apache
и использовании в конфигурации nginx конструкции 
  proxy_set_header  X-Forwarded-For   $proxy_add_x_forwarded_for;
значением X-Forwarded-For будет строка
&quot;Client_IP, Squid1_IP, Squid2_IP&quot;

mod_rpaf (как 0.5-alt3, так и 0.6) устанавливает REMOTE_ADDR равным всей строке 
X-Forwarded-For, что приводит к использованию _первого_ адреса из списка - 
который может быть как из диапазона частных сетей, так и легко 
сфальсифицированным клиентом.
При использовании authz_host_module для ограничения доступа к ресурсам такое 
поведение может привести к нежелательным последствиям.

Следует использовать последний адрес в цепочке, как делает mod_realip 
(http://sysoev.ru/mod_realip/readme.html).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82644</commentid>
    <comment_count>1</comment_count>
    <who name="Nikolay A. Fetisov">naf</who>
    <bug_when>2008-12-12 11:08:54 +0300</bug_when>
    <thetext>Для 0.6-alt1 оно по-прежнему актуально.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84198</commentid>
    <comment_count>2</comment_count>
    <who name="Boris Savelev">boris</who>
    <bug_when>2009-01-10 16:10:41 +0300</bug_when>
    <thetext>похоже
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=377190
на это?
Если да, то я патч утяну-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84297</commentid>
    <comment_count>3</comment_count>
    <who name="Nikolay A. Fetisov">naf</who>
    <bug_when>2009-01-12 10:58:25 +0300</bug_when>
    <thetext>Похоже, что оно.

И заодно, подобное для X-Forwarded-Host делает Debian&apos;овский 040_multiple_hostnames.patch.diff .
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84309</commentid>
    <comment_count>4</comment_count>
    <who name="Boris Savelev">boris</who>
    <bug_when>2009-01-12 13:34:08 +0300</bug_when>
    <thetext>(In reply to comment #3)
&gt; Похоже, что оно.
&gt; 
приложил вроде. программист из меня не очень надо проверить.

&gt; И заодно, подобное для X-Forwarded-Host делает Debian&apos;овский 040_multiple_hostnames.patch.diff .
&gt; 
этот патч для модуля первого апача.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89095</commentid>
    <comment_count>5</comment_count>
    <who name="Boris Savelev">boris</who>
    <bug_when>2009-04-09 23:51:06 +0400</bug_when>
    <thetext>жалоб нет, видимо работает</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>