SyncChannel<T> can move 'T: !Send' to other threads
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- —
- Confidentiality · integrity · availability
- —
- Fix status
- No fix listed
No CVSS vector from any source. Fix status from GitHub.
Summary
Affected versions of this crate unconditionally implement Send/Sync for `SyncChannel<T>`. `SyncChannel<T>` doesn't provide access to `&T` but merely serves as a channel that consumes and returns owned `T`. Users can create UB in safe Rust by sending `T: !Send` to other threads with `SyncChannel::send/recv` APIs. Using `T = Arc<Cell<_>` allows to create data races (which can lead to memory corruption), and using `T = MutexGuard<T>` allows to unlock a mutex from a thread that didn't lock the mutex.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | signal-simple (crates.io) | up to 0.1.1 | — | No fix listed | GHSA-8892-84wf-cg8f |
- signal-simple (crates.io) Vendor— Affected up to 0.1.1 Fixed in — No fix listed GHSA-8892-84wf-cg8f
Remediation
No fixed version listed by the sources yet.
Timeline
- 2026-10-03 Threatist record created from GHSA-8892-84wf-cg8f
References
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences