asn1: additional sanity checking during BER decoding
authorChris Wright <chrisw@sous-sol.org>
Wed, 4 Jun 2008 16:16:33 +0000 (09:16 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 5 Jun 2008 21:24:54 +0000 (14:24 -0700)
- Don't trust a length which is greater than the working buffer.
  An invalid length could cause overflow when calculating buffer size
  for decoding oid.

- An oid length of zero is invalid and allows for an off-by-one error when
  decoding oid because the first subid actually encodes first 2 subids.

- A primitive encoding may not have an indefinite length.

Thanks to Wei Wang from McAfee for report.

Cc: Steven French <sfrench@us.ibm.com>
Cc: stable@kernel.org
Acked-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

No differences found