{"api_version":"1","generated_at":"2026-08-19T11:43:50+00:00","cve":"CVE-2026-49422","urls":{"html":"https://cve.report/CVE-2026-49422","api":"https://cve.report/api/cve/CVE-2026-49422.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-49422","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-49422"},"summary":{"title":"Use-after-free in TCP RACK stack option handler","description":"The RACK setsockopt(2) handler drops the connection lock in order to copy option data from userspace, then reacquires the lock.  After reacquiring, it verifies that the TCP stack had not been switched away, but did not reload its pointer to the stack's per-connection control block.  If userspace switches stacks twice during this window, the check will succeed but the saved pointer will refer to freed memory.\n\nThe bug may be exploitable by an unprivileged local user to escalate privileges.","state":"PUBLISHED","assigner":"freebsd","published_at":"2026-08-19 06:17:41","updated_at":"2026-08-19 06:17:41"},"problem_types":["CWE-416","CWE-416 CWE-416: Use After Free"],"metrics":[],"references":[{"url":"https://security.freebsd.org/advisories/FreeBSD-SA-26:43.tcp.asc","name":"https://security.freebsd.org/advisories/FreeBSD-SA-26:43.tcp.asc","refsource":"secteam@freebsd.org","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-49422","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-49422","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"FreeBSD","product":"FreeBSD","version":"affected 15.1-RELEASE p1 release","platforms":[]},{"source":"CNA","vendor":"FreeBSD","product":"FreeBSD","version":"affected 15.0-RELEASE p11 release","platforms":[]},{"source":"CNA","vendor":"FreeBSD","product":"FreeBSD","version":"affected 14.4-RELEASE p7 release","platforms":[]},{"source":"CNA","vendor":"FreeBSD","product":"FreeBSD","version":"affected 14.3-RELEASE p16 release","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"Maik Muench","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unknown","modules":["tcp"],"product":"FreeBSD","vendor":"FreeBSD","versions":[{"lessThan":"p1","status":"affected","version":"15.1-RELEASE","versionType":"release"},{"lessThan":"p11","status":"affected","version":"15.0-RELEASE","versionType":"release"},{"lessThan":"p7","status":"affected","version":"14.4-RELEASE","versionType":"release"},{"lessThan":"p16","status":"affected","version":"14.3-RELEASE","versionType":"release"}]}],"credits":[{"lang":"en","type":"finder","value":"Maik Muench"}],"datePublic":"2026-06-30T20:00:00.000Z","descriptions":[{"lang":"en","value":"The RACK setsockopt(2) handler drops the connection lock in order to copy option data from userspace, then reacquires the lock.  After reacquiring, it verifies that the TCP stack had not been switched away, but did not reload its pointer to the stack's per-connection control block.  If userspace switches stacks twice during this window, the check will succeed but the saved pointer will refer to freed memory.\n\nThe bug may be exploitable by an unprivileged local user to escalate privileges."}],"problemTypes":[{"descriptions":[{"cweId":"CWE-416","description":"CWE-416: Use After Free","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-08-19T05:28:32.468Z","orgId":"63664ac6-956c-4cba-a5d0-f46076e16109","shortName":"freebsd"},"references":[{"tags":["vendor-advisory"],"url":"https://security.freebsd.org/advisories/FreeBSD-SA-26:43.tcp.asc"}],"title":"Use-after-free in TCP RACK stack option handler","x_generator":{"engine":"cvelib 1.8.0"}}},"cveMetadata":{"assignerOrgId":"63664ac6-956c-4cba-a5d0-f46076e16109","assignerShortName":"freebsd","cveId":"CVE-2026-49422","datePublished":"2026-08-19T05:28:32.468Z","dateReserved":"2026-05-29T20:24:28.616Z","dateUpdated":"2026-08-19T05:28:32.468Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-08-19 06:17:41","lastModifiedDate":"2026-08-19 06:17:41","problem_types":["CWE-416","CWE-416 CWE-416: Use After Free"],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"49422","Ordinal":"1","Title":"Use-after-free in TCP RACK stack option handler","CVE":"CVE-2026-49422","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"49422","Ordinal":"1","NoteData":"The RACK setsockopt(2) handler drops the connection lock in order to copy option data from userspace, then reacquires the lock.  After reacquiring, it verifies that the TCP stack had not been switched away, but did not reload its pointer to the stack's per-connection control block.  If userspace switches stacks twice during this window, the check will succeed but the saved pointer will refer to freed memory.\n\nThe bug may be exploitable by an unprivileged local user to escalate privileges.","Type":"Description","Title":"Use-after-free in TCP RACK stack option handler"}]}}}