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

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

    <bug>
          <bug_id>39357</bug_id>
          
          <creation_ts>2020-12-01 22:17:33 +0300</creation_ts>
          <short_desc>Зависает avahi-daemon CVE-2021-3468</short_desc>
          <delta_ts>2023-10-05 14:32:50 +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>avahi-daemon</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>http://bugs.debian.org/984938</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P4</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>47848</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Vitaly Lipatov">lav</reporter>
          <assigned_to name="Sergey Bolshakov">sbolshakov</assigned_to>
          <cc>aen</cc>
    
    <cc>cas</cc>
    
    <cc>sbolshakov</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>194561</commentid>
    <comment_count>0</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-12-01 22:17:33 +0300</bug_when>
    <thetext>avahi-daemon-0.8-alt1.x86_64

Обнаружил зависший (ел 100% CPU десятки часов) avahi-daemon, где-то в районе:

0x00007fdb5bbfd217 in find_next_timeout (s=&lt;optimized out&gt;) at simple-watch.c:429
429	    for (t = s-&gt;timeouts; t; t = t-&gt;timeouts_next) {
(gdb) bt
#0  0x00007fdb5bbfd217 in find_next_timeout (s=&lt;optimized out&gt;) at simple-watch.c:429
#1  0x00007fdb5bbfd94a in avahi_simple_poll_prepare (s=s@entry=0x1d9ab80, timeout=-1) at simple-watch.c:481
#2  0x00007fdb5bbfdd39 in avahi_simple_poll_iterate (s=0x1d9ab80, timeout=&lt;optimized out&gt;) at simple-watch.c:599</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198157</commentid>
    <comment_count>1</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2021-04-26 22:08:45 +0300</bug_when>
    <thetext>Так и крутится:

0x00007fb7db7f121f in find_next_timeout (s=&lt;optimized out&gt;) at simple-watch.c:431
431	        if (t-&gt;dead || !t-&gt;enabled)
(gdb) bt
#0  0x00007fb7db7f121f in find_next_timeout (s=&lt;optimized out&gt;) at simple-watch.c:431
#1  0x00007fb7db7f1c1e in avahi_simple_poll_dispatch (s=0x1919b30) at simple-watch.c:558
#2  0x0000000000407999 in ?? ()
#3  0x00007fb7db55708b in __libc_start_main (main=0x407130, argc=2, argv=0x7ffe42dbb988, init=&lt;optimized out&gt;, fini=&lt;optimized out&gt;, rtld_fini=&lt;optimized out&gt;, stack_end=0x7ffe42dbb978) at ../csu/libc-start.c:308
#4  0x000000000040810a in ?? ()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198158</commentid>
    <comment_count>2</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2021-04-26 22:14:32 +0300</bug_when>
    <thetext>Да, это
https://github.com/lathiat/avahi/pull/330
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=984938

Сразу воспроизводится на Сизифе и p9:
$ perl -e &apos;$|=1; print &quot;a&quot;x(20*1024+1); sleep 1;&apos; | socat - /run/avahi-daemon/socket</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198257</commentid>
    <comment_count>3</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2021-04-28 15:00:18 +0300</bug_when>
    <thetext>avahi-0.8-alt2 -&gt; sisyphus:

 Wed Apr 28 2021 Sergey Bolshakov &lt;sbolshakov@altlinux.ru&gt; 0.8-alt2
 - avoid infinite-loop in avahi-daemon (closes: #39357) (fixes: CVE-2021-3468)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198875</commentid>
    <comment_count>4</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2021-06-03 02:23:45 +0300</bug_when>
    <thetext>Что-то всё равно зависает на p9:

(gdb) bt
#0  0x00007f0fc54f521f in find_next_timeout (s=&lt;optimized out&gt;) at simple-watch.c:431
#1  0x00007f0fc54f594a in avahi_simple_poll_prepare (s=s@entry=0x10c9b30, timeout=-1) at simple-watch.c:481
#2  0x00007f0fc54f5d39 in avahi_simple_poll_iterate (s=0x10c9b30, timeout=&lt;optimized out&gt;) at simple-watch.c:599
#3  0x0000000000407999 in ?? ()

* Ср апр 28 2021 Sergey Bolshakov &lt;sbolshakov@altlinux.ru&gt; 0.8-alt2
- avoid infinite-loop in avahi-daemon (closes: #39357) (fixes: CVE-2021-3468)

Но таким способом уже не воспроизводится:
&gt; Сразу воспроизводится на Сизифе и p9:
&gt; $ perl -e &apos;$|=1; print &quot;a&quot;x(20*1024+1); sleep 1;&apos; | socat -
&gt; /run/avahi-daemon/socket</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>