Secunia CSI7
Advisories
Research
Forums
Create Profile
Our Commitment
Database
Search
Advisories by Product
Advisories by Vendor
Terminology
Report Vulnerability
Insecure Library Loading
Highly critical

FFmpeg Multiple Vulnerabilities

-

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.

Provided and/or discovered by:
1) Reported by the vendor.
2-29) The vendor credits Mateusz "j00ru" Jurczyk and Gynvael Coldwind

Original Advisory:
http://ffmpeg.org/download.html#release_0.11

Deep Links:
Links available to Secunia VIM customers

Do you have additional information related to this advisory?

Please provide information about patches, mitigating factors, new versions, exploits, faulty patches, links, and other relevant data by posting comments to this Advisory. You can also send this information to vuln@secunia.com

Subject: FFmpeg Multiple Vulnerabilities

No posts yet

-

You must be logged in to post a comment.



 Products Solutions Customers Partner Resources Company
 
 Corporate
Vulnerability Intelligence Manager (VIM)
Corporate Software Inspector (CSI)
Consumer
Personal Software Inspector (PSI)
Online Software Inspector (OSI)
 Industry
Compliance
Technology
Integration
 Customers
Testimonials
 VARS
MSSP
Technology Partners
References
 Factsheets
Reports
Webinars
Events
 About us
Careers
Memberships
Newsroom


 
© 2002-2014 Secunia ApS - Rued Langgaards Vej 8, 4th floor, DK-2300 Copenhagen, Denmark - +45 7020 5144
Terms & Conditions and Copyright - Privacy - Report Vulnerability