• Fabian Yamaguchi's avatar
    stream_out: rtp: don't use VLA for user controlled data · 20429146
    Fabian Yamaguchi authored
    It should fix a possible invalid memory access
    
    When streaming ogg-files via rtp, an ogg-file can trigger an invalid
    write access using an overly long 'configuration' string.
    
    The original code attemps to allocate space to hold the string on the stack
    and hence, cannot verify if allocation succeeds. Instead, we now allocate the
    buffer on the heap and return if allocation fails.
    
    In detail, rtp_packetize_xiph_config allocates a buffer on the stack at (1) where
    the size depends on the local variable 'len'. The variable 'len' is
    calculated at (0) to be the length of a string contained in a specially
    crafted Ogg Vorbis file, and therefore, it is attacker-controlled.
    Signed-off-by: default avatarJean-Baptiste Kempf <jb@videolan.org>
    20429146
rtpfmt.c 51.5 KB