Skip to content
Heist/ feed
Back to feed
HighFix available

net/rds: No shortcut out of RDS_CONN_ERROR

Type: advisorySources: OSV

In the Linux kernel, the following vulnerability has been resolved: net/rds: No shortcut out of RDS_CONN_ERROR RDS connections carry a state "rds_conn_path::cp_state" and transitions from one state to another and are conditional upon an expected state: "rds_conn_path_transition." There is one exception to this conditionality, which is "RDS_CONN_ERROR" that can be enforced by "rds_conn_path_drop" regardless of what state the condition is currently in. But as soon as a connection enters state "RDS_CONN_ERROR", the connection handling code expects it to go through the shutdown-path. The RDS/TCP multipath changes added a shortcut out of "RDS_CONN_ERROR" straight back to "RDS_CONN_CONNECTING" via "rds_tcp_accept_one_path" (e.g. after "rds_tcp_state_change"). A subsequent "rds_tcp_reset_callbacks" can then transition the state to "RDS_CONN_RESETTING" with a shutdown-worker queued. That'll trip up "rds_conn_init_shutdown", which was never adjusted to handle "RDS_CONN_RESETTING" and subsequently drops the connection with the dreaded "DR_INV_CONN_STATE", which leaves "RDS_SHUTDOWN_WORK_QUEUED" on forever. So we do two things here: a) Don't shortcut "RDS_CONN_ERROR", but take the longer path through the shutdown code. b) Add "RDS_CONN_RESETTING" to the expected states in "rds_conn_init_shutdown" so that we won't error out and get stuck, if we ever hit weird state transitions like this again."

Products
Kernel
Affected versions
Not specified
Fixed versions
5.10.252, 5.15.202, 6.1.165, 6.12.75, 6.18.16, 6.19.6, 6.6.128
CVEs
CVE-2026-43226
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 16:36 UTC · Revision 1

Source evidence

net/rds: No shortcut out of RDS_CONN_ERROR

core-osv · Original source

Published 6 May 2026, 11:28 UTC

In the Linux kernel, the following vulnerability has been resolved: net/rds: No shortcut out of RDS_CONN_ERROR RDS connections carry a state "rds_conn_path::cp_state" and transitions from one state to another and are conditional upon an expected state: "rds_conn_path_transition." There is one exception to this conditionality, which is "RDS_CONN_ERROR" that can be enforced by "rds_conn_path_drop" regardless of what state the condition is currently in. But as soon as a connection enters state "RDS_CONN_ERROR", the connection handling code expects it to go through the shutdown-path. The RDS/TCP multipath changes added a shortcut out of "RDS_CONN_ERROR" straight back to "RDS_CONN_CONNECTING" via "rds_tcp_accept_one_path" (e.g. after "rds_tcp_state_change"). A subsequent "rds_tcp_reset_callbacks" can then transition the state to "RDS_CONN_RESETTING" with a shutdown-worker queued. That'll trip up "rds_conn_init_shutdown", which was never adjusted to handle "RDS_CONN_RESETTING" and subsequently drops the connection with the dreaded "DR_INV_CONN_STATE", which leaves "RDS_SHUTDOWN_WORK_QUEUED" on forever. So we do two things here: a) Don't shortcut "RDS_CONN_ERROR", but take the longer path through the shutdown code. b) Add "RDS_CONN_RESETTING" to the expected states in "rds_conn_init_shutdown" so that we won't error out and get stuck, if we ever hit weird state transitions like this again."

osv:CVE-2026-43226

Kernel

Fixed versions: 5.10.252, 5.15.202, 6.1.165, 6.6.128, 6.12.75, 6.18.16, 6.19.6

Complete source record
{
  "id": "735ee44a24245567bb8026d0182eb7f18fe925206c82fddc7bb87ead713b7b7b",
  "url": "https://osv.dev/vulnerability/CVE-2026-43226",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "net/rds: No shortcut out of RDS_CONN_ERROR",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: net/rds: No shortcut out of RDS_CONN_ERROR RDS connections carry a state \"rds_conn_path::cp_state\" and transitions from one state to another and are conditional upon an expected state: \"rds_conn_path_transition.\" There is one exception to this conditionality, which is \"RDS_CONN_ERROR\" that can be enforced by \"rds_conn_path_drop\" regardless of what state the condition is currently in. But as soon as a connection enters state \"RDS_CONN_ERROR\", the connection handling code expects it to go through the shutdown-path. The RDS/TCP multipath changes added a shortcut out of \"RDS_CONN_ERROR\" straight back to \"RDS_CONN_CONNECTING\" via \"rds_tcp_accept_one_path\" (e.g. after \"rds_tcp_state_change\"). A subsequent \"rds_tcp_reset_callbacks\" can then transition the state to \"RDS_CONN_RESETTING\" with a shutdown-worker queued. That'll trip up \"rds_conn_init_shutdown\", which was never adjusted to handle \"RDS_CONN_RESETTING\" and subsequently drops the connection with the dreaded \"DR_INV_CONN_STATE\", which leaves \"RDS_SHUTDOWN_WORK_QUEUED\" on forever. So we do two things here: a) Don't shortcut \"RDS_CONN_ERROR\", but take the longer path through the shutdown code. b) Add \"RDS_CONN_RESETTING\" to the expected states in \"rds_conn_init_shutdown\" so that we won't error out and get stuck, if we ever hit weird state transitions like this again.\"",
    "evidence": "osv:CVE-2026-43226",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "5.10.252",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "5.15.202",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.1.165",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.6.128",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.12.75",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.18.16",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.19.6",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-43226",
      "aliases": [
        "CVE-2026-43226"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "5916e2c1554f3e36f770401c989c3c7fadf619ca"
                },
                {
                  "fixed": "9bcd7c00691a2db9745817d5ea79262a503b135c"
                },
                {
                  "fixed": "a179ac7be8f5a650d0068040705f4cddd6ca369c"
                },
                {
                  "fixed": "19e384a7d00d888303a8285977cdf1970c6cccd6"
                },
                {
                  "fixed": "f0f729bdffb08af32e0f54521b81b8a9e0321f16"
                },
                {
                  "fixed": "81248b1eb3c5954cc1fc7b33b7c03e34d20cb8c8"
                },
                {
                  "fixed": "899ef00963ce76f9fc421a7d02335fe4ead6389b"
                },
                {
                  "fixed": "9ff599a9be784a808c36765086e3db2144aa3b66"
                },
                {
                  "fixed": "ad22d24be635c6beab6a1fdd3f8b1f3c478d15da"
                }
              ]
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-43226.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "4.8.0"
                },
                {
                  "fixed": "5.10.252"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.11.0"
                },
                {
                  "fixed": "5.15.202"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.16.0"
                },
                {
                  "fixed": "6.1.165"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.2.0"
                },
                {
                  "fixed": "6.6.128"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.7.0"
                },
                {
                  "fixed": "6.12.75"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.13.0"
                },
                {
                  "fixed": "6.18.16"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.19.0"
                },
                {
                  "fixed": "6.19.6"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-43226.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:30.665097769Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/19e384a7d00d888303a8285977cdf1970c6cccd6",
        "https://git.kernel.org/stable/c/81248b1eb3c5954cc1fc7b33b7c03e34d20cb8c8",
        "https://git.kernel.org/stable/c/899ef00963ce76f9fc421a7d02335fe4ead6389b",
        "https://git.kernel.org/stable/c/9bcd7c00691a2db9745817d5ea79262a503b135c",
        "https://git.kernel.org/stable/c/9ff599a9be784a808c36765086e3db2144aa3b66",
        "https://git.kernel.org/stable/c/a179ac7be8f5a650d0068040705f4cddd6ca369c",
        "https://git.kernel.org/stable/c/ad22d24be635c6beab6a1fdd3f8b1f3c478d15da",
        "https://git.kernel.org/stable/c/f0f729bdffb08af32e0f54521b81b8a9e0321f16",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/43xxx/CVE-2026-43226.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-43226",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/43xxx/CVE-2026-43226.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-43226",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 497454,
  "published_at": "2026-05-06T11:28:24.952+00:00"
}