GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2023-54306 (GCVE-0-2023-54306)

Vulnerability from cvelistv5 – Published: 2025-12-30 12:23 – Updated: 2026-08-05 09:19
VLAI
Title
net: tls: avoid hanging tasks on the tx_lock
Summary
In the Linux kernel, the following vulnerability has been resolved: net: tls: avoid hanging tasks on the tx_lock syzbot sent a hung task report and Eric explains that adversarial receiver may keep RWIN at 0 for a long time, so we are not guaranteed to make forward progress. Thread which took tx_lock and went to sleep may not release tx_lock for hours. Use interruptible sleep where possible and reschedule the work if it can't take the lock. Testing: existing selftest passes
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 79ffe6087e9145d2377385cac48d0d6a6b4225a5 , < bde541a57b4204d0a800afbbd3d1c06c9cdb133f (git)
Affected: 79ffe6087e9145d2377385cac48d0d6a6b4225a5 , < 7123a4337bf73132bbfb5437e4dc83ba864a9a1e (git)
Affected: 79ffe6087e9145d2377385cac48d0d6a6b4225a5 , < be5d5d0637fd88c18ee76024bdb22649a1de00d6 (git)
Affected: 79ffe6087e9145d2377385cac48d0d6a6b4225a5 , < 1f800f6aae57d2d8f63d32fff383017cbc11cf65 (git)
Affected: 79ffe6087e9145d2377385cac48d0d6a6b4225a5 , < ccf1ccdc5926907befbe880b562b2a4b5f44c087 (git)
Affected: 79ffe6087e9145d2377385cac48d0d6a6b4225a5 , < f3221361dc85d4de22586ce8441ec2c67b454f5d (git)
Affected: c8d6817345f4ba228d07380e571676405e112872 (git)
Affected: 5.3.11 , < 5.4 (semver)
guessed Create a notification for this product.
Linux Linux Affected: 5.4
Unaffected: 0 , < 5.4 (semver)
Unaffected: 5.4.235 , ≤ 5.4.* (semver)
Unaffected: 5.10.173 , ≤ 5.10.* (semver)
Unaffected: 5.15.100 , ≤ 5.15.* (semver)
Unaffected: 6.1.18 , ≤ 6.1.* (semver)
Unaffected: 6.2.5 , ≤ 6.2.* (semver)
Unaffected: 6.3 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/tls/tls_sw.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "bde541a57b4204d0a800afbbd3d1c06c9cdb133f",
              "status": "affected",
              "version": "79ffe6087e9145d2377385cac48d0d6a6b4225a5",
              "versionType": "git"
            },
            {
              "lessThan": "7123a4337bf73132bbfb5437e4dc83ba864a9a1e",
              "status": "affected",
              "version": "79ffe6087e9145d2377385cac48d0d6a6b4225a5",
              "versionType": "git"
            },
            {
              "lessThan": "be5d5d0637fd88c18ee76024bdb22649a1de00d6",
              "status": "affected",
              "version": "79ffe6087e9145d2377385cac48d0d6a6b4225a5",
              "versionType": "git"
            },
            {
              "lessThan": "1f800f6aae57d2d8f63d32fff383017cbc11cf65",
              "status": "affected",
              "version": "79ffe6087e9145d2377385cac48d0d6a6b4225a5",
              "versionType": "git"
            },
            {
              "lessThan": "ccf1ccdc5926907befbe880b562b2a4b5f44c087",
              "status": "affected",
              "version": "79ffe6087e9145d2377385cac48d0d6a6b4225a5",
              "versionType": "git"
            },
            {
              "lessThan": "f3221361dc85d4de22586ce8441ec2c67b454f5d",
              "status": "affected",
              "version": "79ffe6087e9145d2377385cac48d0d6a6b4225a5",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "c8d6817345f4ba228d07380e571676405e112872",
              "versionType": "git"
            },
            {
              "lessThan": "5.4",
              "status": "affected",
              "version": "5.3.11",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/tls/tls_sw.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.4"
            },
            {
              "lessThan": "5.4",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.235",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.173",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.100",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.18",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.2.*",
              "status": "unaffected",
              "version": "6.2.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.235",
                  "versionStartIncluding": "5.4",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.173",
                  "versionStartIncluding": "5.4",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.100",
                  "versionStartIncluding": "5.4",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.18",
                  "versionStartIncluding": "5.4",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.2.5",
                  "versionStartIncluding": "5.4",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.3",
                  "versionStartIncluding": "5.4",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.3.11",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: tls: avoid hanging tasks on the tx_lock\n\nsyzbot sent a hung task report and Eric explains that adversarial\nreceiver may keep RWIN at 0 for a long time, so we are not guaranteed\nto make forward progress. Thread which took tx_lock and went to sleep\nmay not release tx_lock for hours. Use interruptible sleep where\npossible and reschedule the work if it can\u0027t take the lock.\n\nTesting: existing selftest passes"
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.5,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - The condition that causes the tx_lock holder to sleep indefinitely is a zero TCP receive window advertised by the remote TLS peer, so a remote attacker on the network triggers the hang purely through TCP-level behavior against a kTLS-using service (nginx/OpenSSL kTLS, NFS-over-TLS tlshd, etc.). Per kernel scoring guidance, net/tls bugs driven by a remote peer are Network.\nAC:L - The attacker deterministically creates and holds the zero-window condition simply by not reading from the socket; there is no race to win, no memory-layout dependency, and no condition outside the attacker\u0027s control. A single sender is sufficient because the partial-send path itself schedules tx_work, which then blocks a kworker on the mutex.\nPR:N - The attacker is just an ordinary TLS peer of the victim service and needs no credentials on the target; for a public HTTPS/TLS endpoint the kTLS session is established with no authentication. No local account or capability on the victim system is required.\nUI:N - The victim service simply serves data over its normal kTLS send path; no administrator or user action beyond routine operation is needed. The hang occurs automatically once the attacker stalls the window.\nS:U - The impact is confined to the kernel/system that owns the vulnerable socket \u2014 blocked tasks, pinned kworkers, and a potential panic. No security boundary such as a VM, IOMMU, or sandbox is crossed.\nC:N - The defect is a lock-hold/scheduling problem with no out-of-bounds access, no use-after-free, and no uninitialized data exposure. No kernel memory contents are disclosed to the attacker.\nI:N - Nothing is written out of bounds or modified incorrectly; the record data itself is unaffected and eventually sent or discarded normally. There is no write primitive or control-flow influence available from this bug.\nA:H - The uninterruptible mutex waiters (tx_work_handler kworker, concurrent senders, and close()/exit via cancel_delayed_work_sync) become unkillable D-state tasks, tripping the hung-task watchdog and causing a kernel panic on systems with hung_task_panic=1. Even without panic, each stalled connection permanently pins a global system_wq worker (max_active 256), so repeated attacker connections starve the shared workqueue and wedge unrelated kernel work."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T09:19:05.796Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/bde541a57b4204d0a800afbbd3d1c06c9cdb133f"
        },
        {
          "url": "https://git.kernel.org/stable/c/7123a4337bf73132bbfb5437e4dc83ba864a9a1e"
        },
        {
          "url": "https://git.kernel.org/stable/c/be5d5d0637fd88c18ee76024bdb22649a1de00d6"
        },
        {
          "url": "https://git.kernel.org/stable/c/1f800f6aae57d2d8f63d32fff383017cbc11cf65"
        },
        {
          "url": "https://git.kernel.org/stable/c/ccf1ccdc5926907befbe880b562b2a4b5f44c087"
        },
        {
          "url": "https://git.kernel.org/stable/c/f3221361dc85d4de22586ce8441ec2c67b454f5d"
        }
      ],
      "title": "net: tls: avoid hanging tasks on the tx_lock",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-54306",
    "datePublished": "2025-12-30T12:23:39.833Z",
    "dateReserved": "2025-12-30T12:06:44.529Z",
    "dateUpdated": "2026-08-05T09:19:05.796Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2023-54306",
      "date": "2026-09-14",
      "epss": "0.00581",
      "percentile": "0.45921"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2023-54306\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-12-30T13:16:19.760\",\"lastModified\":\"2026-08-04T11:16:39.737\",\"vulnStatus\":\"Deferred\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet: tls: avoid hanging tasks on the tx_lock\\n\\nsyzbot sent a hung task report and Eric explains that adversarial\\nreceiver may keep RWIN at 0 for a long time, so we are not guaranteed\\nto make forward progress. Thread which took tx_lock and went to sleep\\nmay not release tx_lock for hours. Use interruptible sleep where\\npossible and reschedule the work if it can\u0027t take the lock.\\n\\nTesting: existing selftest passes\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\\n\\nnet: tls: evitar que las tareas se queden colgadas en el tx_lock\\n\\nsyzbot envi\u00f3 un informe de tarea colgada y Eric explica que un receptor malintencionado puede mantener RWIN en 0 durante mucho tiempo, por lo que no se garantiza que avancemos. El hilo que tom\u00f3 el tx_lock y se suspendi\u00f3 puede no liberar el tx_lock durante horas. Usar el modo de suspensi\u00f3n interrumpible donde sea posible y reprogramar el trabajo si no puede adquirir el bloqueo.\\n\\nPruebas: el auto-test existente se supera\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"net/tls/tls_sw.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"79ffe6087e9145d2377385cac48d0d6a6b4225a5\",\"lessThan\":\"bde541a57b4204d0a800afbbd3d1c06c9cdb133f\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"79ffe6087e9145d2377385cac48d0d6a6b4225a5\",\"lessThan\":\"7123a4337bf73132bbfb5437e4dc83ba864a9a1e\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"79ffe6087e9145d2377385cac48d0d6a6b4225a5\",\"lessThan\":\"be5d5d0637fd88c18ee76024bdb22649a1de00d6\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"79ffe6087e9145d2377385cac48d0d6a6b4225a5\",\"lessThan\":\"1f800f6aae57d2d8f63d32fff383017cbc11cf65\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"79ffe6087e9145d2377385cac48d0d6a6b4225a5\",\"lessThan\":\"ccf1ccdc5926907befbe880b562b2a4b5f44c087\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"79ffe6087e9145d2377385cac48d0d6a6b4225a5\",\"lessThan\":\"f3221361dc85d4de22586ce8441ec2c67b454f5d\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"c8d6817345f4ba228d07380e571676405e112872\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"5.3.11\",\"lessThan\":\"5.4\",\"versionType\":\"semver\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"net/tls/tls_sw.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.4\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.4\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.4.235\",\"lessThanOrEqual\":\"5.4.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.10.173\",\"lessThanOrEqual\":\"5.10.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.100\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.18\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.2.5\",\"lessThanOrEqual\":\"6.2.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.3\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":7.5,\"baseSeverity\":\"HIGH\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":3.9,\"impactScore\":3.6}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/1f800f6aae57d2d8f63d32fff383017cbc11cf65\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/7123a4337bf73132bbfb5437e4dc83ba864a9a1e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/bde541a57b4204d0a800afbbd3d1c06c9cdb133f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/be5d5d0637fd88c18ee76024bdb22649a1de00d6\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ccf1ccdc5926907befbe880b562b2a4b5f44c087\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/f3221361dc85d4de22586ce8441ec2c67b454f5d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Low",
      "current_release_date": "2026-08-04T22:51:47+00:00",
      "cve": "CVE-2023-54306",
      "id": "CVE-2023-54306",
      "initial_release_date": "2023-01-01T00:00:00+00:00",
      "product_status:known_affected": "156",
      "product_status:known_not_affected": "118",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: net: tls: avoid hanging tasks on the tx_lock",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2023/cve-2023-54306.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…