FFmpeg security fixes November 2015

Bug #1518549 reported by Andreas Cadhalpun
260
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ffmpeg (Ubuntu)
Fix Released
Medium
Unassigned
Nominated for Wily by Mathew Hodson

Bug Description

FFmpeg 2.7.3 fixing a number of crashes and other potentially security relevant issues (including CVE-2015-8216, CVE-2015-8217 and CVE-2015-8219) was released.

From the upstream Changelog:

version 2.7.3:
- rtmpcrypt: Do the xtea decryption in little endian mode
- Update versions for 2.7.3
- avformat/matroskadec: Check subtitle stream before dereferencing
- avformat/utils: Do not init parser if probing is unfinished
- avcodec/jpeg2000dec: Fix potential integer overflow with tile dimensions
- avcodec/jpeg2000dec: Check SIZ dimensions to be within the supported range
- avcodec/jpeg2000: Check comp coords to be within the supported size
- avcodec/jpeg2000: Use av_image_check_size() in ff_jpeg2000_init_component()
- avcodec/wmaprodec: Check for overread in decode_packet()
- avcodec/smacker: Check that the data size is a multiple of a sample vector
- avcodec/takdec: Skip last p2 sample (which is unused)
- avcodec/dxtory: Fix input size check in dxtory_decode_v1_410()
- avcodec/dxtory: Fix input size check in dxtory_decode_v1_420()
- avcodec/error_resilience: avoid accessing previous or next frames tables beyond height
- avcodec/dpx: Move need_align to act per line
- avcodec/flashsv: Check size before updating it
- avcodec/ivi: Check image dimensions
- avcodec/utils: Better check for channels in av_get_audio_frame_duration()
- avcodec/jpeg2000dec: Check for duplicate SIZ marker
- tests/fate/avformat: Fix fate-lavf
- doc/ffmpeg: Clarify that the sdp_file option requires an rtp output.
- ffmpeg: Don't try and write sdp info if none of the outputs had an rtp format.
- apng: use correct size for output buffer
- jvdec: avoid unsigned overflow in comparison
- avcodec/hevc_ps: Check chroma_format_idc
- avcodec/jpeg2000dec: Clip all tile coordinates
- avcodec/microdvddec: Check for string end in 'P' case
- avcodec/dirac_parser: Fix undefined memcpy() use
- avformat/xmv: Discard remainder of packet on error
- avformat/xmv: factor return check out of if/else
- avcodec/mpeg12dec: Do not call show_bits() with invalid bits
- libavutil/channel_layout: Check strtol*() for failure
- avcodec/ffv1dec: Check for 0 quant tables
- avcodec/mjpegdec: Reinitialize IDCT on BPP changes
- avcodec/mjpegdec: Check index in ljpeg_decode_yuv_scan() before using it
- avutil/file_open: avoid file handle inheritance on Windows
- avcodec/h264_slice: Disable slice threads if there are multiple access units in a packet
- opusdec: Don't run vector_fmul_scalar on zero length arrays
- avcodec/ffv1: Initialize vlc_state on allocation
- avcodec/ffv1dec: update progress in case of broken pointer chains
- avcodec/ffv1dec: Clear slice coordinates if they are invalid or slice header decoding fails for other reasons
- avformat/httpauth: Add space after commas in HTTP/RTSP auth header
- avcodec/x86/sbrdsp: Fix using uninitialized upper 32bit of noise
- avcodec/ffv1dec: Fix off by 1 error in quant_table_count check
- avcodec/ffv1dec: Explicitly check read_quant_table() return value
- avcodec/rangecoder: Check e
- avutil/log: fix zero length gnu_printf format string warning
- lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream.
- avcodec/mjpegdec: Fix decoding RGBA RCT LJPEG
- avfilter/af_asyncts: use llabs for int64_t
- avcodec/g2meet: Also clear tile dimensions on header_fail
- avcodec/g2meet: Fix potential overflow in tile dimensions check
- avcodec/svq1dec: Check init_get_bits8() for failure
- avcodec/tta: Check init_get_bits8() for failure
- avcodec/vp3: Check init_get_bits8() for failure
- swresample/swresample: Fix integer overflow in seed calculation
- avformat/mov: Fix integer overflow in FFABS
- avutil/common: Add FFNABS()
- avutil/common: Document FFABS() corner case
- avformat/dump: Fix integer overflow in aspect ratio calculation
- avformat/mxg: Use memmove()
- avcodec/truemotion1: Check for even width
- avcodec/mpeg12dec: Set dimensions in mpeg1_decode_sequence() only in absence of errors
- avcodec/libopusenc: Fix infinite loop on flushing after 0 input
- avformat/hevc: Check num_long_term_ref_pics_sps to avoid potentially long loops
- avformat/hevc: Fix parsing errors
- ffmpeg: Use correct codec_id for av_parser_change() check
- ffmpeg: Check av_parser_change() for failure
- ffmpeg: Check for RAWVIDEO and do not relay only on AVFMT_RAWPICTURE
- ffmpeg: check avpicture_fill() return value
- avformat/mux: Update sidedata in ff_write_chained()
- avcodec/flashsvenc: Correct max dimension in error message
- avcodec/svq1enc: Check dimensions
- avcodec/dcaenc: clear bitstream end
- libavcodec/aacdec_template: Use init_get_bits8() in aac_decode_frame()
- rawdec: fix mjpeg probing buffer size check
- rawdec: fix mjpeg probing
- configure: loongson disable expensive optimizations in gcc O3 optimization
- videodsp: don't overread edges in vfix3 emu_edge.
- avformat/mp3dec: improve junk skipping heuristic
- avformat/hls: add support for EXT-X-MAP
- avformat/hls: fix segment selection regression on track changes of live streams
- lavf/matroskadec: Fully parse and repack MP3 packets
- avcodec/h264_mp4toannexb_bsf: Reorder operations in nal_size check
- avformat/oggenc: Check segments_count for headers too
- avformat/segment: atomically update list if possible
- avformat/avidec: Workaround broken initial frame
- hevc: properly handle no_rasl_output_flag when removing pictures from the DPB
- hevc: fix wpp threading deadlock.
- avcodec/ffv1: separate slice_count from max_slice_count
- lavf/img2dec: Fix memory leak
- avcodec/mp3: fix skipping zeros
- avformat/srtdec: make sure we probe a number
- avformat/srtdec: more lenient first line probing
- doc: mention libavcodec can decode Opus natively
- avcodec/ffv1enc: fix assertion failure with unset bits per raw sample
- MAINTAINERS: Remove myself as leader
- mips/hevcdsp: fix string concatenation on macros

I intend to also fix LP: #1509632, as the change (adding alternative libavcodec-ffmpeg-extra56 dependencies) has low regression potential and has been requested to be backported to wily.

Tags: patch wily

CVE References

information type: Private Security → Public Security
description: updated
Revision history for this message
Andreas Cadhalpun (andreas-cadhalpun) wrote :

Attached is a debdiff. (git repo is at [1])

Testing performed (in a wily chroot):
 * build including test suite works
 * installation works
 * upgrade works
 * autopkgtests pass

1: https://anonscm.debian.org/cgit/collab-maint/ffmpeg.git/log/?h=wily

Mathew Hodson (mhodson)
Changed in ffmpeg (Ubuntu):
importance: Undecided → Medium
tags: added: patch wily
Revision history for this message
Daniel Holbach (dholbach) wrote :

This stable release includes bug fixes as well, subscribing release team.

Revision history for this message
Carl Eugen Hoyos (cehoyos) wrote :

Could you explain the importance setting "medium"? Were the CVEs analyzed in detail and it was decided that none of them is truly security-relevant?

Revision history for this message
Seth Arnold (seth-arnold) wrote :

Carl, the 'urgency' field is completely unused in Ubuntu and is always 'medium'.

Revision history for this message
Carl Eugen Hoyos (cehoyos) wrote :

Are you sure? I looked at a bug page of another (very) random package and found bugs with importance "high", "medium" and "low". Maybe you are mixing up different fields?

Revision history for this message
Seth Arnold (seth-arnold) wrote :

Carl, ah, that's exactly what happened, I thought you were asking about the debian/changelog entry. (Someone else asked the same question recently.)

For the bugs, it's similarly almost always ignored, but it isn't always medium. :) Since anyone can set them, they are often set to meaningless values.

Thanks

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ffmpeg - 7:2.7.3-0ubuntu0.15.10.1

---------------
ffmpeg (7:2.7.3-0ubuntu0.15.10.1) wily-security; urgency=medium

  [ Andreas Cadhalpun ]
  * Import new upstream bugfix release 2.7.3. (LP: #1518549)

  [ Fabian Greffrath ]
  * Add alternative Depends: libavcodec-ffmpeg-extra56 to libavcodec-dev and
    ffmpeg-dbg to allow for building and debugging with this library installed.
    (LP: #1509632)

 -- Andreas Cadhalpun <email address hidden> Sat, 21 Nov 2015 12:16:22 +0100

Changed in ffmpeg (Ubuntu):
status: New → Fix Released
Revision history for this message
Seth Arnold (seth-arnold) wrote :

Thanks Andreas!

To post a comment you must log in.
This report contains Public Security information  
Everyone can see this security related information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.