Home→Descriptions→SA50468
| Secunia ID | |
| CVE-ID |
CVE-2012-2772, CVE-2012-2774, CVE-2012-2775, CVE-2012-2776, CVE-2012-2777, CVE-2012-2779, CVE-2012-2782, CVE-2012-2783, CVE-2012-2784, CVE-2012-2785, CVE-2012-2786, CVE-2012-2787, CVE-2012-2788, CVE-2012-2789, CVE-2012-2790, CVE-2012-2791, CVE-2012-2792, CVE-2012-2793, CVE-2012-2794, CVE-2012-2795, CVE-2012-2796, CVE-2012-2797, CVE-2012-2798, CVE-2012-2799, CVE-2012-2800, CVE-2012-2801, CVE-2012-2802, CVE-2012-2803, CVE-2012-2804 |
| Release Date |
03 Sep 2012 |
| Last Change |
21 Sep 2012 |
| Criticality | |
| Solution Status |
Vendor Patch |
| Software |
FFmpeg 0.x |
| Where | |
| Impact |
DoS (Denial of Service)This includes vulnerabilities ranging from excessive resource consumption (e.g. causing a system to use a lot of memory) to crashing an application or an entire system. System accessThis covers vulnerabilities where malicious people are able to gain system access and execute arbitrary code with the privileges of a local user. UnknownCovers various weaknesses, security issues, and vulnerabilities not covered by the other impact types, or where the impact isn't known due to insufficient information from vendors and researchers. |
| Description |
Multiple vulnerabilities have been reported in FFmpeg, where some have an unknown impact and others can be exploited by malicious people to compromise an application using the library. 1) An error exists in the "ff_rv34_decode_frame()" function (libavcodec/rv34.c) when dimensions change with frame threading. 2) A race condition in the "ff_MPV_frame_start()" function (libavcodec/mpegvideo.c) when attempting to initialise frames after setup can be exploited to corrupt memory. 3) An array-indexing error in the "read_var_block_data()" function (libavcodec/alsdec.c) can be exploited to corrupt memory. 4) An error in the "decode_cell_data()" function (libavcodec/indeo3.c.) can be exploited to corrupt memory. 5) An unspecified error exists in the "decode_pic()" function (libavcodec/cavsdec.c) related to dimensions changing in CAVS. 6) An error in the "decode_frame()" function (libavcodec/indeo5.c) may result in parsing of a partially initialised context when encountering an invalid GOP header. 7) An unspecified error exists in the "decode_frame()" function (libavcodec/indeo5.c). 8) An error in the "ff_vp56_decode_frame()" function (libavcodec/vp56.c) may cause a returned frame to be freed prior to returning it. 9) An error exists in the "decode_pic()" function (libavcodec/cavsdec.c) when dimensions change in CAVS. 10) Errors in libavcodec/wmalosslessdec.c when certain sub-frames only encode some channels or encountering invalid values for order can be exploited to corrupt memory. 11) An array-indexing error error in the "decode_wdlt()" function (libavcodec/dfa.c) can be exploited to corrupt memory. 12) An error exists in the "decode_frame()" function (libavcodec/indeo4.c) when setting the dimensions. 13) An error exists in the "avi_read_packet()" function (libavformat/avidec.c) as a size value is not adjusted when a packet is shrunk. This can be exploited to cause an out-of-bounds read error. 14) An unspecified error exists in the "decode_subframe()" function (libavcodec/wmaprodec.c) as num_vec_coeffs values are not properly validated to ensure they are not overly large. 15) An unspecified error exists in the "read_var_block_data()" function (libavcodec/alsdec.c) when decoding samples in the first sub-block in BGMC mode. 16) Unspecified errors exist in the "decode_band_hdr()" function (indeo4.c) and the "ff_ivi_decode_blocks()" function (ivi_common.c) when handling transform sizes. 17) An unspecified error exists in the "decode_init()" function (libavcodec/wmalosslessdec.c) as samples per frame are not properly checked. 18) An error exists in the "lag_decode_zero_run_line()" function (libavcodec/lagarith.c) as the number of zeroes being stored to a buffer is not properly checked. 19) An error in the "decode_mb_info()" function (libavcodec/indeo5.c) when processing tile sizes can be exploited to cause a buffer overflow. 20) Errors exist in libavcodec/wmalosslessdec.c as certain mclms arrays are insufficiently sized while the "decode_ac_filter()" and "decode_channel_residues()" functions do not properly check values before passing them as arguments to the "get_bits()" function. 21) An error in the "vc1_decode_frame()" function (libavcodec/vc1dec.c) when handling slice positions and interlacing can be exploited to cause a buffer overflow. 22) An error exists in the "decode_frame_mp3on4()" function (libavcodec/mpegaudiodec.c) as an insufficiently sized frame is allocated. 23) An error in the "decode_dds1()" function (libavcodec/dfa.c) when evaluating the remaining space in a frame can be exploited to cause a buffer overflow. 24) Errors exist in the "decode_packet()" and "flush()" functions (libavcodec/wmalosslessdec.c) as the put bit buffer is not reset when the number of saved bits is reset. This may result in the decoder starting to decode incomplete frames. 25) An error in the "ff_ivi_process_empty_tile()" function (libavcodec/ivi_common.c) when processing tile sizes can be exploited to cause a buffer overflow. 26) An error in the "avs_decode_init()" function (libavcodec/avs.c) as dimensions are not properly set can be exploited to cause a buffer overflow. 27) An error in the "ac3_decode_frame()" function (libavcodec/ac3dec.c) due to insufficient checking of the specified number of output channels can be exploited to cause a buffer overflow. 28) An error in the "mpeg_decode_frame()" function (libavcodec/mpeg12.c) after parsing of extra data is complete may result in memory being freed twice (double-free) as the data size is not reset. 29) An unspecified error exists in libavcodec/indeo3.c. related to reallocation code. |
| Solution |
Update to version 0.11.1. |
| Reported by |
1) Reported by the vendor. |
| Original Advisory |