2024-12-08 03:06:42 +00:00

53 lines
3.9 KiB
JSON

{
"id": "CVE-2021-47496",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2024-05-22T09:15:11.447",
"lastModified": "2024-11-21T06:36:20.093",
"vulnStatus": "Awaiting Analysis",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet/tls: Fix flipped sign in tls_err_abort() calls\n\nsk->sk_err appears to expect a positive value, a convention that ktls\ndoesn't always follow and that leads to memory corruption in other code.\nFor instance,\n\n [kworker]\n tls_encrypt_done(..., err=<negative error from crypto request>)\n tls_err_abort(.., err)\n sk->sk_err = err;\n\n [task]\n splice_from_pipe_feed\n ...\n tls_sw_do_sendpage\n if (sk->sk_err) {\n ret = -sk->sk_err; // ret is positive\n\n splice_from_pipe_feed (continued)\n ret = actor(...) // ret is still positive and interpreted as bytes\n // written, resulting in underflow of buf->len and\n // sd->len, leading to huge buf->offset and bogus\n // addresses computed in later calls to actor()\n\nFix all tls_err_abort() callers to pass a negative error code\nconsistently and centralize the error-prone sign flip there, throwing in\na warning to catch future misuse and uninlining the function so it\nreally does only warn once."
},
{
"lang": "es",
"value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net/tls: corrige las llamadas invertidas de tls_err_abort() sk-&gt;sk_err parece esperar un valor positivo, una convenci\u00f3n que ktls no siempre sigue y que conduce a da\u00f1os en la memoria en otro c\u00f3digo. Por ejemplo, [kworker] tls_encrypt_done(..., err=) tls_err_abort(.., err) sk-&gt;sk_err = err; [tarea] splice_from_pipe_feed ... tls_sw_do_sendpage if (sk-&gt;sk_err) { ret = -sk-&gt;sk_err; // ret es positivo splice_from_pipe_feed (continuaci\u00f3n) ret = actor(...) // ret sigue siendo positivo y se interpreta como bytes // escritos, lo que resulta en un desbordamiento insuficiente de buf-&gt;len y // sd-&gt;len, lo que genera enormes buf-&gt;offset y bogus // direcciones calculadas en llamadas posteriores a actor(). Repare todas las llamadas tls_err_abort() para que pasen un c\u00f3digo de error negativo de manera consistente y centralice el cambio de se\u00f1al propenso a errores all\u00ed, lanzando una advertencia para detectar futuros usos indebidos y eliminaci\u00f3n de l\u00edneas. la funci\u00f3n por lo que realmente solo advierte una vez."
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/da353fac65fede6b8b4cfe207f0d9408e3121105",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/e0cfd5159f314d6b304d030363650b06a2299cbb",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/e41473543f75f7dbc5d605007e6f883f1bd13b9a",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/f3dec7e7ace38224f82cf83f0049159d067c2e19",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/da353fac65fede6b8b4cfe207f0d9408e3121105",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://git.kernel.org/stable/c/e0cfd5159f314d6b304d030363650b06a2299cbb",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://git.kernel.org/stable/c/e41473543f75f7dbc5d605007e6f883f1bd13b9a",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://git.kernel.org/stable/c/f3dec7e7ace38224f82cf83f0049159d067c2e19",
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
]
}