diff options
author | Yue Tao <Yue.Tao@windriver.com> | 2014-07-22 15:46:36 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-10-10 15:06:06 +0100 |
commit | 90623776248e50a7a2b95247ba7b4aeac2dcbdc2 (patch) | |
tree | d04c5c3672b094e3cdc3a46dcb2f078fc34784c7 /meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-0855.patch | |
parent | 014309709558c47e1b2ed4c79d79b5398201f5f4 (diff) | |
download | poky-90623776248e50a7a2b95247ba7b4aeac2dcbdc2.tar.gz |
gst-ffmpeg: Add CVE patches
Security Advisory - ffmpeg - CVE-2013-0866
The aac_decode_init function in libavcodec/aacdec.c in FFmpeg before
1.0.4 and 1.1.x before 1.1.2 allows remote attackers to have an
unspecified impact via a large number of channels in an AAC file, which
triggers an out-of-bounds array access.
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-0866
gst-ffmpeg: Security Advisory - ffmpeg - CVE-2013-0875
The ff_add_png_paeth_prediction function in libavcodec/pngdec.c in
FFmpeg before 1.1.3 allows remote attackers to have an unspecified
impact via a crafted PNG image, related to an out-of-bounds array
access.
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-0875
gst-ffmpeg: Security Advisory - ffmpeg - CVE-2013-0860
The ff_er_frame_end function in libavcodec/error_resilience.c in FFmpeg
before 1.0.4 and 1.1.x before 1.1.1 does not properly verify that a
frame is fully initialized, which allows remote attackers to trigger a
NULL pointer dereference via crafted picture data.
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-0860
gst-ffmpeg: Security Advisory - ffmpeg - CVE-2011-3934
Double free vulnerability in the vp3_update_thread_context function in
libavcodec/vp3.c in FFmpeg before 0.10 allows remote attackers to have
an unspecified impact via crafted vp3 data.
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-3934
gst-ffmpeg: Security Advisory - ffmpeg - CVE-2011-3946
The ff_h264_decode_sei function in libavcodec/h264_sei.c in FFmpeg
before 0.10 allows remote attackers to have an unspecified impact via
crafted Supplemental enhancement information (SEI) data, which triggers
an infinite loop.
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-3946
gst-ffmpeg: Security Advisory - ffmpeg - CVE-2013-7023
The ff_combine_frame function in libavcodec/parser.c in FFmpeg before
2.1 does not properly handle certain memory-allocation errors, which
allows remote attackers to cause a denial of service (out-of-bounds
array access) or possibly have unspecified other impact via crafted
data.
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-7023
gst-ffmpeg: Security Advisory - ffmpeg - CVE-2013-7009
The rpza_decode_stream function in libavcodec/rpza.c in FFmpeg before
2.1 does not properly maintain a pointer to pixel data, which allows
remote attackers to cause a denial of service (out-of-bounds array
access) or possibly have unspecified other impact via crafted Apple RPZA
data.
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-7009
gst-ffmpeg: Security Advisory - ffmpeg - CVE-2013-0855
Integer overflow in the alac_decode_close function in libavcodec/alac.c
in FFmpeg before 1.1 allows remote attackers to have an unspecified
impact via a large number of samples per frame in Apple Lossless Audio
Codec (ALAC) data, which triggers an out-of-bounds array access.
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-0855
gst-ffmpeg: Security Advisory - ffmpeg - CVE-2011-4351
Buffer overflow in FFmpeg before 0.5.6, 0.6.x before 0.6.4, 0.7.x before
0.7.8, and 0.8.x before 0.8.8 allows remote attackers to execute
arbitrary code via unspecified vectors.
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4351
gst-ffmpeg: Security Advisory - ffmpeg - CVE-2013-0848
The decode_init function in libavcodec/huffyuv.c in FFmpeg before 1.1
allows remote attackers to have an unspecified impact via a crafted
width in huffyuv data with the predictor set to median and the
colorspace set to YUV422P, which triggers an out-of-bounds array access.
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-0848
gst-ffmpeg: Security Advisory - ffmpeg - CVE-2011-3944
The smacker_decode_header_tree function in libavcodec/smacker.c in
FFmpeg before 0.10 allows remote attackers to have an unspecified impact
via crafted Smacker data.
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-3944
file://0001-huffyuvdec-check-width-more-completely-avoid-out-of-.patch \
gst-ffmpeg: Security Advisory - ffmpeg - CVE-2013-7010
Multiple integer signedness errors in libavcodec/dsputil.c in FFmpeg
before 2.1 allow remote attackers to cause a denial of service
(out-of-bounds array access) or possibly have unspecified other impact
via crafted data.
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-7010
gst-ffmpeg: Security Advisory - ffmpeg - CVE-2011-3941
The decode_mb function in libavcodec/error_resilience.c in FFmpeg before
0.10 allows remote attackers to have an unspecified impact via vectors
related to an uninitialized block index, which triggers an out-of-bound
write.
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-3941
gst-ffmpeg: Security Advisory - ffmpeg - CVE-2013-0846
Array index error in the qdm2_decode_super_block function in
libavcodec/qdm2.c in FFmpeg before 1.1 allows remote attackers to have
an unspecified impact via crafted QDM2 data, which triggers an
out-of-bounds array access.
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-0846
gst-ffmpeg: Security Advisory - ffmpeg - CVE-2012-6618
The av_probe_input_buffer function in libavformat/utils.c in FFmpeg
before 1.0.2, when running with certain -probesize values, allows remote
attackers to cause a denial of service (crash) via a crafted MP3 file,
possibly related to frame size or lack of sufficient frames to estimate
rate.
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-6618
gst-ffmpeg: Security Advisory - ffmpeg - CVE-2012-6617
The prepare_sdp_description function in ffserver.c in FFmpeg before
1.0.2 allows remote attackers to cause a denial of service (crash) via
vectors related to the rtp format.
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-6617
(From OE-Core rev: 58f08a96764094189b5aaf3cc8b4cc0c95e23409)
(From OE-Core rev: 9b3a2d0716540dae72376a8c2e418b244a85c0cb)
Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-0855.patch')
-rw-r--r-- | meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-0855.patch | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-0855.patch b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-0855.patch new file mode 100644 index 0000000000..3c8d8e353e --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-0855.patch | |||
@@ -0,0 +1,100 @@ | |||
1 | gst-ffmpeg: Security Advisory - ffmpeg - CVE-2013-0855 | ||
2 | |||
3 | Upstream-Status: Backport | ||
4 | |||
5 | Signed-off-by: Yue Tao <yue.tao@windriver.com> | ||
6 | |||
7 | diff --git a/gst-libs/ext/libav/libavcodec/alac.c.old b/gst-libs/ext/libav/libavcodec/alac.c | ||
8 | index 2a0df8c..bcbd56d 100644 | ||
9 | --- a/gst-libs/ext/libav/libavcodec/alac.c.old | ||
10 | +++ b/gst-libs/ext/libav/libavcodec/alac.c | ||
11 | @@ -87,18 +87,44 @@ typedef struct { | ||
12 | int wasted_bits; | ||
13 | } ALACContext; | ||
14 | |||
15 | -static void allocate_buffers(ALACContext *alac) | ||
16 | +static av_cold int alac_decode_close(AVCodecContext *avctx) | ||
17 | +{ | ||
18 | + ALACContext *alac = avctx->priv_data; | ||
19 | + | ||
20 | + int chan; | ||
21 | + for (chan = 0; chan < MAX_CHANNELS; chan++) { | ||
22 | + av_freep(&alac->predicterror_buffer[chan]); | ||
23 | + av_freep(&alac->outputsamples_buffer[chan]); | ||
24 | + av_freep(&alac->wasted_bits_buffer[chan]); | ||
25 | + } | ||
26 | + | ||
27 | + return 0; | ||
28 | +} | ||
29 | + | ||
30 | +static int allocate_buffers(ALACContext *alac) | ||
31 | { | ||
32 | int chan; | ||
33 | + int buf_size; | ||
34 | + | ||
35 | + if (alac->setinfo_max_samples_per_frame > INT_MAX / sizeof(int32_t)) | ||
36 | + goto buf_alloc_fail; | ||
37 | + buf_size = alac->setinfo_max_samples_per_frame * sizeof(int32_t); | ||
38 | + | ||
39 | for (chan = 0; chan < MAX_CHANNELS; chan++) { | ||
40 | - alac->predicterror_buffer[chan] = | ||
41 | - av_malloc(alac->setinfo_max_samples_per_frame * 4); | ||
42 | |||
43 | - alac->outputsamples_buffer[chan] = | ||
44 | - av_malloc(alac->setinfo_max_samples_per_frame * 4); | ||
45 | + FF_ALLOC_OR_GOTO(alac->avctx, alac->predicterror_buffer[chan], | ||
46 | + buf_size, buf_alloc_fail); | ||
47 | |||
48 | - alac->wasted_bits_buffer[chan] = av_malloc(alac->setinfo_max_samples_per_frame * 4); | ||
49 | + FF_ALLOC_OR_GOTO(alac->avctx, alac->outputsamples_buffer[chan], | ||
50 | + buf_size, buf_alloc_fail); | ||
51 | + | ||
52 | + FF_ALLOC_OR_GOTO(alac->avctx, alac->wasted_bits_buffer[chan], | ||
53 | + buf_size, buf_alloc_fail); | ||
54 | } | ||
55 | + return 0; | ||
56 | +buf_alloc_fail: | ||
57 | + alac_decode_close(alac->avctx); | ||
58 | + return AVERROR(ENOMEM); | ||
59 | } | ||
60 | |||
61 | static int alac_set_info(ALACContext *alac) | ||
62 | @@ -131,8 +157,6 @@ static int alac_set_info(ALACContext *alac) | ||
63 | bytestream_get_be32(&ptr); /* bitrate ? */ | ||
64 | bytestream_get_be32(&ptr); /* samplerate */ | ||
65 | |||
66 | - allocate_buffers(alac); | ||
67 | - | ||
68 | return 0; | ||
69 | } | ||
70 | |||
71 | @@ -659,6 +683,7 @@ static int alac_decode_frame(AVCodecContext *avctx, | ||
72 | |||
73 | static av_cold int alac_decode_init(AVCodecContext * avctx) | ||
74 | { | ||
75 | + int ret; | ||
76 | ALACContext *alac = avctx->priv_data; | ||
77 | alac->avctx = avctx; | ||
78 | alac->numchannels = alac->avctx->channels; | ||
79 | @@ -674,18 +699,9 @@ static av_cold int alac_decode_init(AVCodecContext * avctx) | ||
80 | return -1; | ||
81 | } | ||
82 | |||
83 | - return 0; | ||
84 | -} | ||
85 | - | ||
86 | -static av_cold int alac_decode_close(AVCodecContext *avctx) | ||
87 | -{ | ||
88 | - ALACContext *alac = avctx->priv_data; | ||
89 | - | ||
90 | - int chan; | ||
91 | - for (chan = 0; chan < MAX_CHANNELS; chan++) { | ||
92 | - av_freep(&alac->predicterror_buffer[chan]); | ||
93 | - av_freep(&alac->outputsamples_buffer[chan]); | ||
94 | - av_freep(&alac->wasted_bits_buffer[chan]); | ||
95 | + if ((ret = allocate_buffers(alac)) < 0) { | ||
96 | + av_log(avctx, AV_LOG_ERROR, "Error allocating buffers\n"); | ||
97 | + return ret; | ||
98 | } | ||
99 | |||
100 | return 0; | ||