)]}'
{
  "commit": "dad19b59da050cb60d3f7023dac2a042a84bf0bd",
  "tree": "08bf9a0c01ce4367fafe9f6b81df3d572b9c8cdb",
  "parents": [
    "00df72e39f306e2f7adb68528a5c92109da6a0a9"
  ],
  "author": {
    "name": "Ilya Maximets",
    "email": "i.maximets@ovn.org",
    "time": "Mon Sep 21 16:55:48 2026 +0200"
  },
  "committer": {
    "name": "Jakub Kicinski",
    "email": "kuba@kernel.org",
    "time": "Thu Sep 24 09:56:02 2026 -0700"
  },
  "message": "net/sched: act_ct: fix helper UAF due to extensions realloc\n\nWhile calling the helpers, a raw pointer to the extensions area is\nwired into expectations list:\n\n  -\u003e nf_ct_helper()\n   -\u003e helper-\u003ehelp()\n    -\u003e nf_ct_expect_related_report()\n     -\u003e nf_ct_expect_insert()\n      -\u003e hlist_add_head_rcu(\u0026exp-\u003elnode, \u0026master_help-\u003eexpectations)\n\nIn case the connection is not confirmed yet, more extensions can be\nadded afterwards with *_ext_add() calls reallocating the extension\nspace and leaving the now invalid pointer in the expectations list\nthat is later accessed while removing the expectation.\n\nMake sure that helpers are called at the end after all the other\nextensions are already added.\n\nNote that the helper rejection now leaves the mark and labels set,\nbut that\u0027s not different from how the NAT was handled before or how\nthe mark and the labels were handled on confirmation failure.  And\nthere are no atomicity guarantees provided by the API anyway.\n\nFixes: a21b06e73191 (\"net: sched: add helper support in act_ct\")\nCc: stable@vger.kernel.org\nReported-by: Axel Mierczuk \u003caxel.mierczuk@1password.com\u003e\nSigned-off-by: Ilya Maximets \u003ci.maximets@ovn.org\u003e\nReviewed-by: Xin Long \u003clucien.xin@gmail.com\u003e\nReviewed-by: Jamal Hadi Salim \u003cjhs@mojatatu.com\u003e\nReviewed-by: Aaron Conole \u003caconole@redhat.com\u003e\nLink: https://patch.msgid.link/20260921145655.3167436-7-i.maximets@ovn.org\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f62051ec9d57dea72379de52198bd16dceabc6e2",
      "old_mode": 33188,
      "old_path": "net/sched/act_ct.c",
      "new_id": "411e3dd92d072ecf031407728f12b68751054370",
      "new_mode": 33188,
      "new_path": "net/sched/act_ct.c"
    }
  ]
}
