)]}'
{
  "commit": "6c195c8a97ae3d91a366ebdd7787d5faa64bf42a",
  "tree": "6cb4adb78f6f816a8cde9a4106630f4119cd0aa9",
  "parents": [
    "f717e29698a271c548239ed56bf5dd9516d6f7e8"
  ],
  "author": {
    "name": "Nicola Murino",
    "email": "nicola.murino@gmail.com",
    "time": "Sun Mar 01 11:49:28 2026 +0100"
  },
  "committer": {
    "name": "Nicola Murino",
    "email": "nicola.murino@gmail.com",
    "time": "Thu May 21 11:00:25 2026 -0700"
  },
  "message": "ssh: prevent memory leak when rejecting channels\n\nWhen a server rejects an incoming channel request via\nNewChannel.Reject, the channel is left in the multiplexer\u0027s\nchannel list. Because the channel is never explicitly removed or\nclosed, its internal buffers and sync primitives remain allocated\nfor the lifetime of the SSH connection.\n\nA malicious client could exploit this behavior by repeatedly\nrequesting to open channels that are destined to be rejected,\ncausing unbounded memory growth and potentially leading to a\nDenial of Service (DoS) via resource exhaustion.\n\nThis change fixes the leak by calling ch.mux.chanList.remove\nwithin the Reject method, removing the channel from the list and allowing the\ngarbage collector to reclaim the associated memory immediately.\n\nFixes golang/go#35127\nFixes CVE-2026-3982\n\nChange-Id: Iaa177f5dfd151812dd404e528a4a1c77527a0e29\nReviewed-on: https://go-review.googlesource.com/c/crypto/+/781320\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Roland Shoemaker \u003croland@golang.org\u003e\nReviewed-by: Nicholas Husin \u003cnsh@golang.org\u003e\nReviewed-by: Nicholas Husin \u003chusin@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cc0bb7ab64814eed5951a835d3c95e5c011189cd",
      "old_mode": 33188,
      "old_path": "ssh/channel.go",
      "new_id": "00e4cebb5d711c3e91dbdb6c2bc17a554ad99172",
      "new_mode": 33188,
      "new_path": "ssh/channel.go"
    },
    {
      "type": "modify",
      "old_id": "21f0ac3e325a43a436469097b62a61c30959bf7a",
      "old_mode": 33188,
      "old_path": "ssh/mux_test.go",
      "new_id": "95874fa97508e9da35c771d6618537479a78b410",
      "new_mode": 33188,
      "new_path": "ssh/mux_test.go"
    }
  ]
}
