1. 20 Mar, 2020 1 commit
    • Jason A. Donenfeld's avatar
      crypto: arm64/chacha - correctly walk through blocks · c8cfcb78
      Jason A. Donenfeld authored
      Prior, passing in chunks of 2, 3, or 4, followed by any additional
      chunks would result in the chacha state counter getting out of sync,
      resulting in incorrect encryption/decryption, which is a pretty nasty
      crypto vuln: "why do images look weird on webpages?" WireGuard users
      never experienced this prior, because we have always, out of tree, used
      a different crypto library, until the recent Frankenzinc addition. This
      commit fixes the issue by advancing the pointers and state counter by
      the actual size processed. It also fixes up a bug in the (optional,
      costly) stride test that prevented it from running on arm64.
      
      Fixes: b3aad5ba ("crypto: arm64/chacha - expose arm64 ChaCha routine as library function")
      Reported-and-tested-by: default avatarEmil Renner Berthing <kernel@esmil.dk>
      Cc: Ard Biesheuvel <ardb@kernel.org>
      Cc: stable@vger.kernel.org # v5.5+
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      Reviewed-by: default avatarEric Biggers <ebiggers@google.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      c8cfcb78
  2. 05 Mar, 2020 1 commit
  3. 14 Feb, 2020 1 commit
    • Jason A. Donenfeld's avatar
      crypto: chacha20poly1305 - prevent integer overflow on large input · c9cc0517
      Jason A. Donenfeld authored
      This code assigns src_len (size_t) to sl (int), which causes problems
      when src_len is very large. Probably nobody in the kernel should be
      passing this much data to chacha20poly1305 all in one go anyway, so I
      don't think we need to change the algorithm or introduce larger types
      or anything. But we should at least error out early in this case and
      print a warning so that we get reports if this does happen and can look
      into why anybody is possibly passing it that much data or if they're
      accidently passing -1 or similar.
      
      Fixes: d95312a3 ("crypto: lib/chacha20poly1305 - reimplement crypt_from_sg() routine")
      Cc: Ard Biesheuvel <ardb@kernel.org>
      Cc: stable@vger.kernel.org # 5.5+
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      Acked-by: default avatarArd Biesheuvel <ardb@kernel.org>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      c9cc0517
  4. 13 Feb, 2020 1 commit
  5. 05 Feb, 2020 1 commit
  6. 22 Jan, 2020 23 commits
  7. 16 Jan, 2020 12 commits