1. 05 Jun, 2017 1 commit
    • Sysiphus's avatar
      avformat/hls: Check local file extensions · caf7d617
      Sysiphus authored
      This reduces the attack surface of local file-system
      information leaking.
      
      It prevents the existing exploit leading to an information leak. As
      well as similar hypothetical attacks.
      
      Leaks of information from files and symlinks ending in common multimedia extensions
      are still possible. But files with sensitive information like private keys and passwords
      generally do not use common multimedia filename extensions.
      It does not stop leaks via remote addresses in the LAN.
      
      The existing exploit depends on a specific decoder as well.
      It does appear though that the exploit should be possible with any decoder.
      The problem is that as long as sensitive information gets into the decoder,
      the output of the decoder becomes sensitive as well.
      The only obvious solution is to prevent access to sensitive information. Or to
      disable hls or possibly some of its feature. More complex solutions like
      checking the path to limit access to only subdirectories of the hls path may
      work as an alternative. But such solutions are fragile and tricky to implement
      portably and would not stop every possible attack nor would they work with all
      valid hls files.
      
      Developers have expressed their dislike / objected to disabling hls by default as well
      as disabling hls with local files. There also where objections against restricting
      remote url file extensions. This here is a less robust but also lower
      inconvenience solution.
      It can be applied stand alone or together with other solutions.
      limiting the check to local files was suggested by nevcairiel
      
      Found-by: Emil Lerner and Pavel Cheremushkin
      Reported-by: 's avatarThierry Foucu <tfoucu@google.com>
      Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
      caf7d617
  2. 04 Jun, 2017 14 commits
  3. 03 Jun, 2017 6 commits
  4. 02 Jun, 2017 6 commits
  5. 01 Jun, 2017 13 commits