<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.openanolis.cn/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.openanolis.cn/"
          
          maintainer="service@openanolis.org"
>

    <bug>
          <bug_id>8148</bug_id>
          <alias>CVE-2024-23196</alias>
          <creation_ts>2024-02-01 17:08:00 +0000</creation_ts>
          <short_desc>sound/hda的snd_hdac_regmap_sync函数存在竞争条件</short_desc>
          <delta_ts>2024-03-06 09:49:35 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>5</classification_id>
          <classification>ANCK</classification>
          <product>ANCK 5.10 Dev</product>
          <component>drivers</component>
          <version>5.10.y-16</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3-Medium</priority>
          <bug_severity>S3-normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Shiloong">shile.zhang</reporter>
          <assigned_to name="GuixinLiu">kanie</assigned_to>
          <cc>mqaio</cc>
    
    
    <cc>xlpang</cc>
          
          <qa_contact name="shuming">qingming.su</qa_contact>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>25630</commentid>
    <comment_count>0</comment_count>
    <who name="Shiloong">shile.zhang</who>
    <bug_when>2024-02-01 17:08:00 +0000</bug_when>
    <thetext>上报人信息：
  - 白家驹 &lt;baijiaju@buaa.edu.cn&gt;
  - 北京航空航天大学网络空间安全学院

	
成因：
在snd_hdac_regmap_sync函数中，检查codec-&gt;regmap指针非空后在regcache_sync中进行了解引用，但检查codec-&gt;regmap指针非空并没有包含在解引用的mutex lock临界区内，codec-&gt;regmap在检查后仍有可能被其他线程的snd_hdac_regmap_exit等函数置空，从而触发空指针解引用，此bug是一个典型的原子性违反。

	
危害：
该模块被编译进内核里，发生空指针解引用会导致kernel panic并挂起系统，可以用于拒绝服务攻击。


修复缓解：
   -  将snd_hdac_regmap_sync函数的临界区扩大到判断指针非空外，防止codec-&gt;regmap在检查非空后被赋空。

补丁已提交给Linux Kernel并被接收，补丁链接：https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=1f4a08fed450db87fbb5ff5105354158bdbe1a22</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>