ghsa-cwj5-qqpc-pw3v
Vulnerability from github
Published
2025-05-02 18:31
Modified
2025-05-02 18:31
Details

In the Linux kernel, the following vulnerability has been resolved:

tcp: tcp_make_synack() can be called from process context

tcp_rtx_synack() now could be called in process context as explained in 0a375c822497 ("tcp: tcp_rtx_synack() can be called from process context").

tcp_rtx_synack() might call tcp_make_synack(), which will touch per-CPU variables with preemption enabled. This causes the following BUG:

BUG: using __this_cpu_add() in preemptible [00000000] code: ThriftIO1/5464
caller is tcp_make_synack+0x841/0xac0
Call Trace:
 <TASK>
 dump_stack_lvl+0x10d/0x1a0
 check_preemption_disabled+0x104/0x110
 tcp_make_synack+0x841/0xac0
 tcp_v6_send_synack+0x5c/0x450
 tcp_rtx_synack+0xeb/0x1f0
 inet_rtx_syn_ack+0x34/0x60
 tcp_check_req+0x3af/0x9e0
 tcp_rcv_state_process+0x59b/0x2030
 tcp_v6_do_rcv+0x5f5/0x700
 release_sock+0x3a/0xf0
 tcp_sendmsg+0x33/0x40
 ____sys_sendmsg+0x2f2/0x490
 __sys_sendmsg+0x184/0x230
 do_syscall_64+0x3d/0x90

Avoid calling __TCP_INC_STATS() with will touch per-cpu variables. Use TCP_INC_STATS() which is safe to be called from context switch.

Show details on source website


{
  "affected": [],
  "aliases": [
    "CVE-2023-53121"
  ],
  "database_specific": {
    "cwe_ids": [],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2025-05-02T16:15:31Z",
    "severity": null
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\ntcp: tcp_make_synack() can be called from process context\n\ntcp_rtx_synack() now could be called in process context as explained in\n0a375c822497 (\"tcp: tcp_rtx_synack() can be called from process\ncontext\").\n\ntcp_rtx_synack() might call tcp_make_synack(), which will touch per-CPU\nvariables with preemption enabled. This causes the following BUG:\n\n    BUG: using __this_cpu_add() in preemptible [00000000] code: ThriftIO1/5464\n    caller is tcp_make_synack+0x841/0xac0\n    Call Trace:\n     \u003cTASK\u003e\n     dump_stack_lvl+0x10d/0x1a0\n     check_preemption_disabled+0x104/0x110\n     tcp_make_synack+0x841/0xac0\n     tcp_v6_send_synack+0x5c/0x450\n     tcp_rtx_synack+0xeb/0x1f0\n     inet_rtx_syn_ack+0x34/0x60\n     tcp_check_req+0x3af/0x9e0\n     tcp_rcv_state_process+0x59b/0x2030\n     tcp_v6_do_rcv+0x5f5/0x700\n     release_sock+0x3a/0xf0\n     tcp_sendmsg+0x33/0x40\n     ____sys_sendmsg+0x2f2/0x490\n     __sys_sendmsg+0x184/0x230\n     do_syscall_64+0x3d/0x90\n\nAvoid calling __TCP_INC_STATS() with will touch per-cpu variables. Use\nTCP_INC_STATS() which is safe to be called from context switch.",
  "id": "GHSA-cwj5-qqpc-pw3v",
  "modified": "2025-05-02T18:31:37Z",
  "published": "2025-05-02T18:31:37Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-53121"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/442aa78ed70188b21ccd8669738448702c0a3281"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/7613cde8c0c1f02a7ec2e1d536c01b65b135fc1c"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/77ad58bca0119e8cc3e0e9d91a3f22caa66e4dfa"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/9180aa4622a720b433e842b4d3aa34d73eec577a"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/ad07290d63ff6689f50565b02f5b6f34ec15a5ca"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/bced3f7db95ff2e6ca29dc4d1c9751ab5e736a09"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/d493d4fe88195a144d6a277a90062a7534ed2192"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/e23ca307745be3df7fe9762f3e2a7e311a57852e"
    }
  ],
  "schema_version": "1.4.0",
  "severity": []
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…