diff options
author | Max Rees <maxcrees@me.com> | 2020-03-21 13:46:20 -0500 |
---|---|---|
committer | Max Rees <maxcrees@me.com> | 2020-03-21 13:46:20 -0500 |
commit | 9f0f9cf4b52840ea0d566572659a2bd8226b147f (patch) | |
tree | 3c0bae253d7bb851a6f3d05513075323615d9bf0 /user/sox/CVE-2019-13590.patch | |
parent | d17942503235bc65e4152f1400579e9d7bc70831 (diff) | |
download | packages-9f0f9cf4b52840ea0d566572659a2bd8226b147f.tar.gz packages-9f0f9cf4b52840ea0d566572659a2bd8226b147f.tar.bz2 packages-9f0f9cf4b52840ea0d566572659a2bd8226b147f.tar.xz packages-9f0f9cf4b52840ea0d566572659a2bd8226b147f.zip |
user/sox: patch multiple CVEs (#166)
Diffstat (limited to 'user/sox/CVE-2019-13590.patch')
-rw-r--r-- | user/sox/CVE-2019-13590.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/user/sox/CVE-2019-13590.patch b/user/sox/CVE-2019-13590.patch new file mode 100644 index 000000000..a09b11bae --- /dev/null +++ b/user/sox/CVE-2019-13590.patch @@ -0,0 +1,33 @@ +From 7b6a889217d62ed7e28188621403cc7542fd1f7e Mon Sep 17 00:00:00 2001 +From: Mans Rullgard <mans@mansr.com> +Date: Tue, 4 Feb 2020 12:55:18 +0000 +Subject: [PATCH] sox-fmt: validate comments_bytes before use (CVE-2019-13590) + [bug #325] + +Cap the comments size to 1 GB to avoid overflows in subsequent +arithmetic. + +The missing null check mentioned in the bug report is bogus since +lsx_calloc() returns a valid pointer or aborts. +--- + src/sox-fmt.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/sox-fmt.c b/src/sox-fmt.c +index aad965cd..11c88771 100644 +--- a/src/sox-fmt.c ++++ b/src/sox-fmt.c +@@ -46,7 +46,9 @@ static int startread(sox_format_t * ft) + lsx_readdw(ft, &comments_bytes)) + return SOX_EOF; + +- if (((headers_bytes + 4) & 7) || headers_bytes < FIXED_HDR + comments_bytes || ++ if (((headers_bytes + 4) & 7) || ++ comments_bytes > 0x40000000 || /* max 1 GB */ ++ headers_bytes < FIXED_HDR + comments_bytes || + (num_channels > 65535)) /* Reserve top 16 bits */ { + lsx_fail_errno(ft, SOX_EHDR, "invalid sox file format header"); + return SOX_EOF; +-- +2.25.0 + |