Mathias Krause
9a5467bf7b
crypto: user - fix info leaks in report API
...
Three errors resulting in kernel memory disclosure:
1/ The structures used for the netlink based crypto algorithm report API
are located on the stack. As snprintf() does not fill the remainder of
the buffer with null bytes, those stack bytes will be disclosed to users
of the API. Switch to strncpy() to fix this.
2/ crypto_report_one() does not initialize all field of struct
crypto_user_alg. Fix this to fix the heap info leak.
3/ For the module name we should copy only as many bytes as
module_name() returns -- not as much as the destination buffer could
hold. But the current code does not and therefore copies random data
from behind the end of the module name, as the module name is always
shorter than CRYPTO_MAX_ALG_NAME.
Also switch to use strncpy() to copy the algorithm's name and
driver_name. They are strings, after all.
Signed-off-by: Mathias Krause <minipli@googlemail.com>
Cc: Steffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2013-02-19 20:27:03 +08:00
..
asymmetric_keys
X.509: Convert some printk calls to pr_devel
2012-10-10 20:06:38 +10:30
async_tx
crypto: remove the second argument of k[un]map_atomic()
2012-03-20 21:48:16 +08:00
842.c
crypto: 842 - remove .cra_list initialization
2012-09-07 04:17:06 +08:00
ablkcipher.c
crypto: user - fix info leaks in report API
2013-02-19 20:27:03 +08:00
aead.c
crypto: user - fix info leaks in report API
2013-02-19 20:27:03 +08:00
aes_generic.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
af_alg.c
ahash.c
crypto: user - fix info leaks in report API
2013-02-19 20:27:03 +08:00
algapi.c
crypto: use ERR_CAST
2013-02-04 21:16:53 +08:00
algboss.c
crypto: algapi - Fix hang on crypto allocation
2012-06-27 20:59:12 +08:00
algif_hash.c
algif_skcipher.c
ansi_cprng.c
crypto: ansi_cprng - use crypto_[un]register_algs
2012-08-01 17:47:25 +08:00
anubis.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
api.c
arc4.c
crypto: arc4 - improve performance by using u32 for ctx and variables
2012-06-14 10:07:23 +08:00
authenc.c
crypto: use ERR_CAST
2013-02-04 21:16:53 +08:00
authencesn.c
crypto: use ERR_CAST
2013-02-04 21:16:53 +08:00
blkcipher.c
crypto: user - fix info leaks in report API
2013-02-19 20:27:03 +08:00
blowfish_common.c
blowfish_generic.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
camellia_generic.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
cast5_generic.c
crypto: cast5/cast6 - move lookup tables to shared module
2012-12-06 17:16:26 +08:00
cast6_generic.c
crypto: cast5/cast6 - move lookup tables to shared module
2012-12-06 17:16:26 +08:00
cast_common.c
crypto: cast5/cast6 - move lookup tables to shared module
2012-12-06 17:16:26 +08:00
cbc.c
ccm.c
crypto: use ERR_CAST
2013-02-04 21:16:53 +08:00
chainiv.c
crypto: use ERR_CAST
2013-02-04 21:16:53 +08:00
cipher.c
compress.c
crc32.c
crypto: crc32 - add crc32 pclmulqdq implementation and wrappers for table implementation
2013-01-20 10:16:45 +11:00
crc32c.c
crypto: crc32c should use library implementation
2012-03-23 16:58:38 -07:00
cryptd.c
crypto: cryptd - disable softirqs in cryptd_queue_worker to prevent data corruption
2012-10-24 21:21:18 +08:00
crypto_null.c
crypto: crypto_null - use crypto_[un]register_algs
2012-08-01 17:47:24 +08:00
crypto_user.c
crypto: user - fix info leaks in report API
2013-02-19 20:27:03 +08:00
crypto_wq.c
ctr.c
crypto: use ERR_CAST
2013-02-04 21:16:53 +08:00
cts.c
crypto: use ERR_CAST
2013-02-04 21:16:53 +08:00
deflate.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
des_generic.c
crypto: des - use crypto_[un]register_algs
2012-08-01 17:47:24 +08:00
ecb.c
eseqiv.c
fcrypt.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
fips.c
gcm.c
crypto: use ERR_CAST
2013-02-04 21:16:53 +08:00
gf128mul.c
ghash-generic.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
hmac.c
internal.h
crypto: algapi - Move larval completion into algboss
2012-06-22 20:08:29 +08:00
Kconfig
crypto: crc32 - add crc32 pclmulqdq implementation and wrappers for table implementation
2013-01-20 10:16:45 +11:00
khazad.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
krng.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
lrw.c
lzo.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
Makefile
crypto: crc32 - add crc32 pclmulqdq implementation and wrappers for table implementation
2013-01-20 10:16:45 +11:00
md4.c
md5.c
michael_mic.c
pcbc.c
pcompress.c
crypto: user - fix info leaks in report API
2013-02-19 20:27:03 +08:00
pcrypt.c
crypto: pcrypt - Use the online cpumask as the default
2012-03-29 19:52:47 +08:00
proc.c
ripemd.h
rmd128.c
rmd160.c
rmd256.c
rmd320.c
rng.c
crypto: user - fix info leaks in report API
2013-02-19 20:27:03 +08:00
salsa20_generic.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
scatterwalk.c
crypto: remove the second argument of k[un]map_atomic()
2012-03-20 21:48:16 +08:00
seed.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
seqiv.c
crypto: use ERR_CAST
2013-02-04 21:16:53 +08:00
serpent_generic.c
crypto: serpent - use crypto_[un]register_algs
2012-08-01 17:47:25 +08:00
sha1_generic.c
sha256_generic.c
crypto: sha256 - use crypto_[un]register_shashes
2012-08-01 17:47:26 +08:00
sha512_generic.c
crypto: sha512 - use crypto_[un]register_shashes
2012-08-01 17:47:26 +08:00
shash.c
crypto: user - fix info leaks in report API
2013-02-19 20:27:03 +08:00
tcrypt.c
crypto: tcrypt - add async speed test for camellia cipher
2012-11-09 17:32:28 +08:00
tcrypt.h
crypto: testmgr - add larger cast5 testvectors
2012-08-01 17:47:29 +08:00
tea.c
crypto: tea - use crypto_[un]register_algs
2012-08-01 17:47:24 +08:00
testmgr.c
crypto: testmgr - add test vector for fcrypt
2013-01-20 10:16:47 +11:00
testmgr.h
crypto: testmgr - remove superfluous initializers for xts(aes)
2012-12-06 17:16:29 +08:00
tgr192.c
crypto: tiger - use crypto_[un]register_shashes
2012-08-01 17:47:26 +08:00
twofish_common.c
twofish_generic.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
vmac.c
crypto: vmac - Make VMAC work when blocks aren't aligned
2012-10-15 22:33:20 +08:00
wp512.c
crypto: whirlpool - use crypto_[un]register_shashes
2012-08-01 17:47:27 +08:00
xcbc.c
xor.c
add further __init annotations to crypto/xor.c
2012-10-11 13:42:32 +11:00
xts.c
zlib.c