已关闭
CVE-2020-18781 #13
openeuler-ci-bot创建于  2023年8月23日关闭于  9月19日
openeuler-ci-bot
openeuler-ci-bot成员
2023年8月23日 创建

一、漏洞信息
漏洞编号:CVE-2020-18781
漏洞归属组件:audiofile
漏洞归属的版本:0.3.6
CVSS评分:
BaseScore:5.5 Medium
Vector:CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
漏洞简述:
Heap buffer overflow vulnerability in FilePOSIX::read in File.cpp in audiofile 0.3.6 may cause denial-of-service via a crafted wav file, this bug can be triggered by the executable sfconvert.
漏洞公开时间:2023-08-23 03:15:56
漏洞创建时间:2023-08-22 19:32:45
漏洞详情参考链接:
https://nvd.nist.gov/vuln/detail/CVE-2020-18781

更多参考(点击展开)
参考来源 参考链接 来源链接
cve.mitre.org https://github.com/mpruett/audiofile/issues/56
suse_bugzilla http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-18781 https://bugzilla.suse.com/show_bug.cgi?id=1214530
suse_bugzilla https://www.cve.org/CVERecord?id=CVE-2020-18781 https://bugzilla.suse.com/show_bug.cgi?id=1214530
suse_bugzilla https://github.com/mpruett/audiofile/issues/56 https://bugzilla.suse.com/show_bug.cgi?id=1214530
redhat_bugzilla https://github.com/mpruett/audiofile/issues/56 https://bugzilla.redhat.com/show_bug.cgi?id=2235372
debian https://security-tracker.debian.org/tracker/CVE-2020-18781
cve_search https://github.com/mpruett/audiofile/issues/56
amazon_linux_explore https://access.redhat.com/security/cve/CVE-2020-18781 https://explore.alas.aws.amazon.com/CVE-2020-18781.html
amazon_linux_explore https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-18781 https://explore.alas.aws.amazon.com/CVE-2020-18781.html
snyk https://github.com/mpruett/audiofile/issues/56 https://security.snyk.io/vuln/SNYK-UNMANAGED-MPRUETTAUDIOFILE-5877392
cve.mitre.org https://github.com/mpruett/audiofile/issues/56
debian https://security-tracker.debian.org/tracker/CVE-2020-18781

漏洞分析指导链接:
https://atomgit.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/manual.md
漏洞数据来源:
openBrain开源漏洞感知系统
漏洞补丁信息:

详情(点击展开)

无

二、漏洞分析结构反馈
影响性分析说明:

  1. 漏洞类型与影响:audiofile 0.3.6 存在堆缓冲区越界写(CWE-787)。构造的 WAV 文件可导致拒绝服务(进程崩溃),触发方式为解析恶意文件(用户打开/转换文件,需交互)2. 根因位置:libaudiofile/WAVE.cpp 的 WAVEFile::parseFormat() 解析 MS-ADPCM(wFormatTag=0x0002)格式块扩展区时,对系数个数 wNumCoef(numCoefficients)只做了断言 assert(numCoefficients >= 7 && numCoefficients <= 255),没有运行时校验。该断言在 NDEBUG/Release 构建下被消除,随后代码按该值循环调用 readS16() 写入固定大小的数组 int16_t m_msadpcmCoefficients[256][2]。3. 触发条件与后果:当 WAV 文件的 MS-ADPCM 扩展区把 wNumCoef 声明为大于 255(该字段为 16 位,最大 65535)时,循环写越过 m_msadpcmCoefficients 末尾,越界写相邻堆内存。崩溃栈为 FilePOSIX::read ← readValue ← _AFfilehandle::readS16 ← WAVEFile::parseFormat(WAVE.cpp:289),与上游报告一致。4. 上游修复:上游在 https://github.com/mpruett/audiofile/issues/56 报告,修复提交为 https://github.com/mpruett/audiofile/commit/c48e4c6503f7dabd41f11d4c9c7b7f8960e7f2c0 ( Always check the number of coefficients )——在断言处补运行时校验,numCoefficients 不在 [7,255] 时返回 AF_BAD_HEADER 并中止解析;CVE 记录见 https://nvd.nist.gov/vuln/detail/CVE-2020-18781 。
    openEuler评分:
    5.5
    Vector:CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
    受影响版本排查(受影响/不受影响):
    1.openEuler-20.03-LTS-SP1(0.3.6):受影响
    2.openEuler-20.03-LTS-SP3(0.3.6):受影响
    3.openEuler-22.03-LTS(0.3.6):受影响
    4.openEuler-22.03-LTS-SP1(0.3.6):受影响
    5.openEuler-22.03-LTS-SP2(0.3.6):受影响
    6.openEuler-24.03-LTS-Next(0.3.6):不受影响
    7.openEuler-22.03-LTS-SP4(0.3.6):不受影响
    8.master(0.3.6):不受影响
    9.openEuler-24.03-LTS-SP2(0.3.6):受影响
    10.openEuler-20.03-LTS-SP4(0.3.6):不受影响
    11.openEuler-24.03-LTS-SP1(0.3.6):不受影响
    12.openEuler-24.03-LTS-SP3(0.3.6):不受影响
    13.openEuler-24.03-LTS-SP4(0.3.6):不受影响

修复是否涉及abi变化(是/否):
1.openEuler-20.03-LTS-SP1(0.3.6):否
2.openEuler-20.03-LTS-SP3(0.3.6):否
3.openEuler-22.03-LTS(0.3.6):否
4.openEuler-22.03-LTS-SP1(0.3.6):否
5.openEuler-22.03-LTS-SP2(0.3.6):否
6.openEuler-24.03-LTS-Next(0.3.6):否
7.openEuler-22.03-LTS-SP4(0.3.6):否
8.master(0.3.6):否
9.openEuler-24.03-LTS-SP2(0.3.6):否
10.openEuler-20.03-LTS-SP4(0.3.6):否
11.openEuler-24.03-LTS-SP1(0.3.6):否
12.openEuler-24.03-LTS-SP3(0.3.6):否
13.openEuler-24.03-LTS-SP4(0.3.6):否

原因说明:
1.master(0.3.6):不受影响-漏洞代码不存在
2.openEuler-20.03-LTS-SP1(0.3.6):不修复-超出修复范围
3.openEuler-20.03-LTS-SP3(0.3.6):不修复-超出修复范围
4.openEuler-22.03-LTS(0.3.6):不修复-超出修复范围
5.openEuler-22.03-LTS-SP1(0.3.6):不修复-超出修复范围
6.openEuler-22.03-LTS-SP2(0.3.6):不修复-超出修复范围
7.openEuler-22.03-LTS-SP4(0.3.6):不受影响-漏洞代码不存在
8.openEuler-24.03-LTS-Next(0.3.6):不受影响-漏洞代码不存在
9.openEuler-24.03-LTS-SP2(0.3.6):不修复-超出修复范围
10.openEuler-20.03-LTS-SP4(0.3.6):不受影响-漏洞代码不存在
11.openEuler-24.03-LTS-SP1(0.3.6):不受影响-漏洞代码不存在
12.openEuler-24.03-LTS-SP3(0.3.6):不受影响-漏洞代码不存在
13.openEuler-24.03-LTS-SP4(0.3.6):不受影响-漏洞代码不存在

likedislike
openeuler-ci-botopeneuler-ci-bot成员
2023年8月23日 创建了CVE和安全问题
openeuler-ci-botopeneuler-ci-bot成员
2023年8月23日 添加了 &nbsp; CVE/UNFIXED 标签
openeuler-ci-bot
openeuler-ci-bot成员
2023年8月23日 评论:

@licihua ,@overweight ,@zhujianwei001 ,@xiezhipeng1 ,@dillon_chen
issue处理注意事项:
1. 当前issue受影响的分支提交pr时, 须在pr描述中填写当前issue编号进行关联, 否则无法关闭当前issue;
2. 模板内容需要填写完整, 无论是受影响或者不受影响都需要填写完整内容,未引入的分支不需要填写, 否则无法关闭当前issue;
3. 以下为模板中需要填写完整的内容, 请复制到评论区回复, 注: 内容的标题名称(影响性分析说明, openEuler评分, 受影响版本排查(受影响/不受影响), 修复是否涉及abi变化(是/否))不能省略,省略后cve-manager将无法正常解析填写内容.


影响性分析说明:

openEuler评分: (评分和向量)

受影响版本排查(受影响/不受影响):
1.openEuler-20.03-LTS-SP1(0.3.6):
2.openEuler-20.03-LTS-SP3(0.3.6):
3.openEuler-22.03-LTS(0.3.6):
4.openEuler-22.03-LTS-SP1(0.3.6):
5.openEuler-22.03-LTS-SP2(0.3.6):

修复是否涉及abi变化(是/否):
1.openEuler-20.03-LTS-SP1(0.3.6):
2.openEuler-20.03-LTS-SP3(0.3.6):
3.openEuler-22.03-LTS(0.3.6):
4.openEuler-22.03-LTS-SP1(0.3.6):
5.openEuler-22.03-LTS-SP2(0.3.6):


issue处理具体操作请参考:
https://gitee.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/manual.md
pr关联issue具体操作请参考:
https://gitee.com/help/articles/4142

likedislike
openeuler-ci-bot
openeuler-ci-bot成员
2023年8月23日 评论:

Hi openeuler-ci-bot, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: Base-service, and any of the maintainers: @licihua , @overweight , @zhujianwei001 , @xiezhipeng1 , @dillon_chen

likedislike
openeuler-ci-botopeneuler-ci-bot成员
2023年8月23日 添加了 &nbsp; sig/Base-service 标签
此处折叠了87条消息 查看更多
openeuler-ci-bot
openeuler-ci-bot成员
9月19日 评论:

@ 经过 cve-manager 解析, 已分析的内容如下表所示:

状态 分析项目 内容
已分析 1.影响性分析说明 1. 漏洞类型与影响:audiofile 0.3.6 存在堆缓冲区越界写(CWE-787)。构造的 WAV 文件可导致拒绝服务(进程崩溃),触发方式为解析恶意文件(用户打开/转换文件,需交互)2. 根因位置:libaudiofile/WAVE.cpp 的 WAVEFile::parseFormat() 解析 MS-ADPCM(wFormatTag=0x0002)格式块扩展区时,对系数个数 wNumCoef(numCoefficients)只做了断言 assert(numCoefficients >= 7 && numCoefficients <= 255),没有运行时校验。该断言在 NDEBUG/Release 构建下被消除,随后代码按该值循环调用 readS16() 写入固定大小的数组 int16_t m_msadpcmCoefficients[256][2]。3. 触发条件与后果:当 WAV 文件的 MS-ADPCM 扩展区把 wNumCoef 声明为大于 255(该字段为 16 位,最大 65535)时,循环写越过 m_msadpcmCoefficients 末尾,越界写相邻堆内存。崩溃栈为 FilePOSIX::read ← readValue ← _AFfilehandle::readS16 ← WAVEFile::parseFormat(WAVE.cpp:289),与上游报告一致。4. 上游修复:上游在 https://github.com/mpruett/audiofile/issues/56 报告,修复提交为 https://github.com/mpruett/audiofile/commit/c48e4c6503f7dabd41f11d4c9c7b7f8960e7f2c0 ("Always check the number of coefficients")——在断言处补运行时校验,numCoefficients 不在 [7,255] 时返回 AF_BAD_HEADER 并中止解析;CVE 记录见 https://nvd.nist.gov/vuln/detail/CVE-2020-18781 。
已分析 2.openEulerScore 5.5
已分析 3.openEulerVector AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
已分析 4.受影响版本排查 openEuler-20.03-LTS-SP1:受影响,openEuler-20.03-LTS-SP3:受影响,openEuler-22.03-LTS:受影响,openEuler-22.03-LTS-SP1:受影响,openEuler-22.03-LTS-SP2:受影响,openEuler-24.03-LTS-Next:不受影响,openEuler-22.03-LTS-SP4:不受影响,master:不受影响,openEuler-24.03-LTS-SP2:受影响,openEuler-20.03-LTS-SP4:不受影响,openEuler-24.03-LTS-SP1:不受影响,openEuler-24.03-LTS-SP3:不受影响,openEuler-24.03-LTS-SP4:不受影响
已分析 5.是否涉及abi变化 openEuler-20.03-LTS-SP1:否,openEuler-20.03-LTS-SP3:否,openEuler-22.03-LTS:否,openEuler-22.03-LTS-SP1:否,openEuler-22.03-LTS-SP2:否,openEuler-24.03-LTS-Next:否,openEuler-22.03-LTS-SP4:否,master:否,openEuler-24.03-LTS-SP2:否,openEuler-20.03-LTS-SP4:否,openEuler-24.03-LTS-SP1:否,openEuler-24.03-LTS-SP3:否,openEuler-24.03-LTS-SP4:否
已分析 6.原因说明 master:不受影响-漏洞代码不存在,openEuler-20.03-LTS-SP1:不修复-超出修复范围,openEuler-20.03-LTS-SP3:不修复-超出修复范围,openEuler-22.03-LTS:不修复-超出修复范围,openEuler-22.03-LTS-SP1:不修复-超出修复范围,openEuler-22.03-LTS-SP2:不修复-超出修复范围,openEuler-22.03-LTS-SP4:不受影响-漏洞代码不存在,openEuler-24.03-LTS-Next:不受影响-漏洞代码不存在,openEuler-24.03-LTS-SP2:不修复-超出修复范围,openEuler-20.03-LTS-SP4:不受影响-漏洞代码不存在,openEuler-24.03-LTS-SP1:不受影响-漏洞代码不存在,openEuler-24.03-LTS-SP3:不受影响-漏洞代码不存在,openEuler-24.03-LTS-SP4:不受影响-漏洞代码不存在

请确认分析内容的准确性, 确认无误后, 您可以进行后续步骤, 否则您可以继续分析.

likedislike
openeuler-ci-botopeneuler-ci-bot成员
9月19日 issue状态由 待办的 改变为 已完成
openeuler-ci-botopeneuler-ci-bot成员
9月19日 关闭了 issue
openeuler-ci-botopeneuler-ci-bot成员
9月19日 删除了label:CVE/UNFIXED
openeuler-ci-botopeneuler-ci-bot成员
9月19日 添加了label:CVE/FIXED