CVE-2026-23394
MediumCVSS 4.7Exploitation Probability (EPSS)
Low risk1th percentile - higher than 1% of all known CVEs
Summary
W jądrze systemu Linux zidentyfikowano podatność, która pozwala na błędne usunięcie gniazda z kolejki odbiorczej przez zbieranie śmieci (GC) w wyniku wywołania MSG_PEEK. Problem ten występuje w sytuacji, gdy gniazdo jest zamykane podczas sprawdzania jego stanu przez GC, co prowadzi do nieprawidłowego wniosku o martwym gnieździe.
Risk Assessment
Organizacje mogą być narażone na problemy z zarządzaniem gniazdami, co może prowadzić do nieoczekiwanych błędów w aplikacjach korzystających z gniazd. Niewłaściwe zarządzanie referencjami plików może skutkować wyciekami pamięci lub innymi problemami z wydajnością.
Recommendation
Zaleca się aktualizację jądra systemu Linux do najnowszej wersji, w której ta podatność została naprawiona. Dodatkowo, monitorowanie i audyt aplikacji korzystających z gniazd mogą pomóc w identyfikacji potencjalnych problemów związanych z tą podatnością.
Related vulnerabilities
- CVE-2026-108269Critical
In versions prior to 0.5.0 of Remote Attestation TLS Clients for Rust and Go, RA-TLS challenge verifiers accepted quotes bound to the certificate public key and client nonce but not to the active TLS session. An attacker who obtained an enclave TLS private key could relay a genuine quote onto another connection, causing clients to accept an attacker-terminated connection as the attested enclave. This issue is fixed in 0.5.0.
- CVE-2026-108268Critical
In versions prior to tdx-v0.2.43 and tdx-gpu-v0.6.27, Enclave OS Virtual placed the certificate public-key hash and client nonce in quote ReportData but omitted a value bound to the active TLS session. An attacker who obtained an enclave TLS private key could relay a genuine quote onto another connection, causing a relying party to accept an attacker-terminated connection as the attested enclave. This issue is fixed in tdx-v0.2.43 and tdx-gpu-v0.6.27.
- CVE-2026-108267Critical
In versions prior to privasys-v0.5.1-go1.26.5, Privasys Go (a fork of Go with RA-TLS support) in challenge mode bound quote ReportData to the certificate public key and client nonce but not to the active TLS session. An attacker who obtained an enclave TLS private key could relay a genuine quote onto another connection, causing a relying party to accept a handshake terminated by the attacker as an attested enclave connection. This issue is fixed in privasys-v0.5.1-go1.26.5.
- CVE-2026-108266Critical
In versions prior to privasys-v0.8.1, Privasys rustls (a fork of the rustls TLS library with RA-TLS support) emitted RA-TLS challenge certificates whose quote ReportData was bound to the certificate public key and client nonce but not to the active TLS session. An attacker who obtained an enclave TLS private key could relay a genuine quote onto another connection, causing a relying party to accept an attacker-terminated connection as the attested enclave. This issue is fixed in privasys-v0.8.1.
- CVE-2026-108265Critical
In versions prior to wasm-v0.40.0, Enclave OS Mini (a Rust-based runtime for confidential applications inside Intel SGX enclaves) in the RA-TLS challenge certificate path placed the certificate public-key hash and client nonce in quote ReportData but omitted a value bound to the active TLS session. An attacker who obtained an enclave TLS private key could relay a genuine quote onto another connection, causing a relying party to accept an attacker-terminated connection as the attested enclave. This issue is fixed in wasm-v0.40.0.
- CVE-2026-108264Critical
In versions prior to 2026.9.1, Wizarr (an advanced user invitation and management system for media servers) evaluated wizard step Markdown in the application's non-sandboxed Jinja2 environment with application globals exposed. An authenticated user able to create steps, or an administrator importing an untrusted bundle through POST /settings/wizard/import, could execute arbitrary Python when rendering the stored step, potentially leading to OS command execution, disclosure of the Flask SECRET_KEY, access to connected service credentials and the database, and stored cross-site scripting. This issue is fixed in 2026.9.1.
- CVE-2026-108263Critical
In versions prior to 1.1.2, Astron Agent (an agentic workflow platform for building and running AI agents) selected LocalExecutor in the default workflow code-node path, which supplies complete Python builtins to dynamic code execution without the documented sandbox restrictions. An authenticated low-privilege tenant can execute code as root in the core-workflow container and use shared service and database credentials to bypass application-level tenant checks, read or modify other tenants' data, and disrupt shared services. This issue is fixed in version 1.1.2.
- CVE-2026-108261Critical
In versions prior to tinacms 3.14.0 and @tinacms/app 2.5.14, the /~/* admin preview route in Tina (a headless CMS) can turn an attacker-controlled hash-router splat into an off-origin iframe URL, while expectedOrigin for the GraphQL message channel is derived from that same URL. An unauthenticated attacker can send a crafted link to a signed-in editor, cause the admin to frame an attacker origin, and have that frame treated as the trusted preview, allowing GraphQL reads or mutations with the editor's credentials. This issue is fixed in tinacms 3.14.0 and @tinacms/app 2.5.14.
- CVE-2026-107845Critical
In versions from 4.0.0 until 5.3.50 and 5.7.12, Contao (an Open Source CMS) renders comment email or website metadata without sufficient attribute and URL encoding in listComments(). An unauthenticated visitor can submit a comment with malicious script that executes in the backend context when a user opens the Comments module. This issue is fixed in versions 5.3.50 and 5.7.12.
- CVE-2026-107824Critical
In versions prior to 1.1, x64dbg-MCP Server (a native MCP plugin for x64dbg) exposes all MCP debugger tools over HTTP and SSE without authentication while listening on 0.0.0.0 by default. Any unauthenticated network client that can reach the default port (9094 for x64, 9095 for x32) can execute arbitrary x64dbg commands, attach to processes by PID, read and write debuggee memory, and write files to arbitrary paths. This issue is fixed in version 1.1.
Original NVD description (English source)
In the Linux kernel, the following vulnerability has been resolved: af_unix: Give up GC if MSG_PEEK intervened. Igor Ushakov reported that GC purged the receive queue of an alive socket due to a race with MSG_PEEK with a nice repro. This is the exact same issue previously fixed by commit cbcf01128d0a ("af_unix: fix garbage collect vs MSG_PEEK"). After GC was replaced with the current algorithm, the cited commit removed the locking dance in unix_peek_fds() and reintroduced the same issue. The problem is that MSG_PEEK bumps a file refcount without interacting with GC. Consider an SCC containing sk-A and sk-B, where sk-A is close()d but can be recv()ed via sk-B. The bad thing happens if sk-A is recv()ed with MSG_PEEK from sk-B and sk-B is close()d while GC is checking unix_vertex_dead() for sk-A and sk-B. GC thread User thread --------- ----------- unix_vertex_dead(sk-A) -> true <------. \ `------ recv(sk-B, MSG_PEEK) invalidate !! -> sk-A's file refcount : 1 -> 2 close(sk-B) -> sk-B's file refcount : 2 -> 1 unix_vertex_dead(sk-B) -> true Initially, sk-A's file refcount is 1 by the inflight fd in sk-B recvq. GC thinks sk-A is dead because the file refcount is the same as the number of its inflight fds. However, sk-A's file refcount is bumped silently by MSG_PEEK, which invalidates the previous evaluation. At this moment, sk-B's file refcount is 2; one by the open fd, and one by the inflight fd in sk-A. The subsequent close() releases one refcount by the former. Finally, GC incorrectly concludes that both sk-A and sk-B are dead. One option is to restore the locking dance in unix_peek_fds(), but we can resolve this more elegantly thanks to the new algorithm. The point is that the issue does not occur without the subsequent close() and we actually do not need to synchronise MSG_PEEK with the dead SCC detection. When the issue occurs, close() and GC touch the same file refcount. If GC sees the refcount being decremented by close(), it can just give up garbage-collecting the SCC. Therefore, we only need to signal the race during MSG_PEEK with a proper memory barrier to make it visible to the GC. Let's use seqcount_t to notify GC when MSG_PEEK occurs and let it defer the SCC to the next run. This way no locking is needed on the MSG_PEEK side, and we can avoid imposing a penalty on every MSG_PEEK unnecessarily. Note that we can retry within unix_scc_dead() if MSG_PEEK is detected, but we do not do so to avoid hung task splat from abusive MSG_PEEK calls.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

