Merge branch 'apw' (xfrm_user fixes)
Merge xfrm_user validation fixes from Andy Whitcroft: "Two patches we are applying to Ubuntu for XFRM_MSG_NEWAE validation issue reported by ZDI. The first of these is the primary fix, and the second is for a more theoretical issue that Kees pointed out when reviewing the first" * emailed patches from Andy Whitcroft <apw@canonical.com>: xfrm_user: validate XFRM_MSG_NEWAE incoming ESN size harder xfrm_user: validate XFRM_MSG_NEWAE XFRMA_REPLAY_ESN_VAL replay_window
This commit is contained in:
Коммит
52b9c81680
|
@ -412,7 +412,14 @@ static inline int xfrm_replay_verify_len(struct xfrm_replay_state_esn *replay_es
|
||||||
up = nla_data(rp);
|
up = nla_data(rp);
|
||||||
ulen = xfrm_replay_state_esn_len(up);
|
ulen = xfrm_replay_state_esn_len(up);
|
||||||
|
|
||||||
if (nla_len(rp) < ulen || xfrm_replay_state_esn_len(replay_esn) != ulen)
|
/* Check the overall length and the internal bitmap length to avoid
|
||||||
|
* potential overflow. */
|
||||||
|
if (nla_len(rp) < ulen ||
|
||||||
|
xfrm_replay_state_esn_len(replay_esn) != ulen ||
|
||||||
|
replay_esn->bmp_len != up->bmp_len)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
if (up->replay_window > up->bmp_len * sizeof(__u32) * 8)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче