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

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

    <bug>
          <bug_id>57448</bug_id>
          
          <creation_ts>2026-01-09 16:24:40 +0300</creation_ts>
          <short_desc>SQL Injection через лог Squid</short_desc>
          <delta_ts>2026-01-12 19:21:31 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>squidmill</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergey Vlasov">vsu</reporter>
          <assigned_to name="manowar@altlinux.org">manowar</assigned_to>
          <cc>manowar</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>280016</commentid>
    <comment_count>0</comment_count>
      <attachid>20455</attachid>
    <who name="Sergey Vlasov">vsu</who>
    <bug_when>2026-01-09 16:24:40 +0300</bug_when>
    <thetext>Created attachment 20455
bad.log — строка из access.log, на которой падает squidmill

squidmill-2.7.0-alt2

Текстовые поля из access.log (например, поле ident) вставляются в SQL-запрос без экранирования символа &quot;&apos;&quot;, что приводит как минимум к падению squidmill при обработке строки лога, содержащей этот символ в одном из полей (Squid считает, что этот символ допустимо писать в лог без дополнительного экранирования).

$ /usr/sbin/squidmill -d bad.db bad.log
SQLite3 error (1): near &quot;&apos;, &apos;&quot;: syntax error
*** ERROR -- This object was raised: (sqlite3-err 1 &quot;near \&quot;&apos;, &apos;\&quot;: syntax error&quot;)

Отдельный вопрос — нужно ли вообще обрабатывать строки с TCP_DENIED/407 (в них в поле ident пишется любое значение, присланное клиентом, даже если аутентификация не пройдена, но текущая реализация squidmill просто добавляет эти записи в статистику, учитывая в качестве трафика выданное Squid сообщение об ошибке аутентификации).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>20455</attachid>
            <date>2026-01-09 16:24:40 +0300</date>
            <delta_ts>2026-01-09 16:24:40 +0300</delta_ts>
            <desc>bad.log — строка из access.log, на которой падает squidmill</desc>
            <filename>bad.log</filename>
            <type>text/x-log</type>
            <size>142</size>
            <attacher name="Sergey Vlasov">vsu</attacher>
            
              <data encoding="base64">MTczNjg1MzgwOS45MzMgICAgICAxIDE5Mi4xNjguMTEuNTQgVENQX0RFTklFRC80MDcgNDU5NiBH
RVQgaHR0cDovL2RldGVjdHBvcnRhbC5maXJlZm94LmNvbS9jYW5vbmljYWwuaHRtbCB2cyUyMHIl
MjAncnBmdnR5ZSBOT05FLy0gdGV4dC9odG1sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>