difos/package/kernel/lantiq
Mathias Kresin ab270c6fbc ltq-deu: aes: do not read/write behind buffer
When handling non-aligned remaining data (not padded to 16 byte
[AES_BLOCK_SIZE]), a full 16 byte block is read from the input buffer
and written to the output buffer after en-/decryption.

While code already assumes that an input buffer could have less than 16
byte remaining, as it can be seen by the code zeroing the remaining
bytes till AES_BLOCK_SIZE, the full AES_BLOCK_SIZE is read.

An output buffer size of a multiple of AES_BLOCK_SIZE is expected but
never validated.

To get rid of the read/write behind buffer, use a temporary buffer when
dealing with not padded data and only write as much bytes to the output
as we read.

Do not memcpy directly to the register, to make used of the endian swap
macro and to trigger the crypto start operator via the ID0R to trigger
the register. Since we might need an endian swap for the output in
future, use a temporary buffer for the output as well.

The issue could not be observed so far, since all caller of ifx_deu_aes
will ignore the padded (remaining) data. Considering that the minimum
blocksize for the algorithm is set to AES_BLOCK_SIZE, the behaviour
could be called expected.

Signed-off-by: Mathias Kresin <dev@kresin.me>
[fix commit title prefix]
Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
2022-01-05 23:05:38 +01:00
..
ltq-adsl lantiq: ltq-adsl: add kernel 5.10 compatiblity 2021-04-12 23:23:09 +02:00
ltq-adsl-fw ltq-adsl(-fw): Makefile clean-up and fixes 2020-04-24 17:59:22 +02:00
ltq-adsl-mei kernel: drop outdated kernel version switches for local code 2020-05-17 18:35:51 +02:00
ltq-atm ltq-atm/ltq-ptm: add kernel 5.10 compatiblity 2021-04-12 23:23:09 +02:00
ltq-deu ltq-deu: aes: do not read/write behind buffer 2022-01-05 23:05:38 +01:00
ltq-ifxos lantiq: ltq-ifxos: add kernel 5.10 compatiblity 2021-04-12 23:23:09 +02:00
ltq-ptm ltq-atm/ltq-ptm: add kernel 5.10 compatiblity 2021-04-12 23:23:09 +02:00
ltq-tapi lantiq: ltq-tapi: add kernel 5.10 compatiblity 2021-04-12 23:23:09 +02:00
ltq-vdsl ltq-vdsl: add missing backslash 2021-08-21 19:16:26 +01:00
ltq-vdsl-fw ltq-vdsl-fw: update w921v firmware download URL 2021-11-15 15:18:03 +00:00
ltq-vdsl-mei lantiq: ltq-vdsl-mei: add kernel 5.10 compatiblity 2021-04-12 23:23:09 +02:00
ltq-vmmc kernel: lantiq: fix Module.symvers handling 2021-02-18 08:43:08 +01:00