CVE-2025-39713
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2025
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
media: rainshadow-cec: fix TOCTOU race condition in rain_interrupt()
In the Linux kernel, the following vulnerability has been resolved: media: rainshadow-cec: fix TOCTOU race condition in rain_interrupt() In the interrupt handler rain_interrupt(), the buffer full check on rain->buf_len is performed before acquiring rain->buf_lock. This creates a Time-of-Check to Time-of-Use (TOCTOU) race condition, as rain->buf_len is concurrently accessed and modified in the work handler rain_irq_work_handler() under the same lock. Multiple interrupt invocations can race, with each reading buf_len before it becomes full and then proceeding. This can lead to both interrupts attempting to write to the buffer, incrementing buf_len beyond its capacity (DATA_SIZE) and causing a buffer overflow. Fix this bug by moving the spin_lock() to before the buffer full check. This ensures that the check and the subsequent buffer modification are performed atomically, preventing the race condition. An corresponding spin_unlock() is added to the overflow path to correctly release the lock. This possible bug was found by an experimental static analysis tool developed by our team.
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 0f314f6c2e77beb1a232be21dd6be4e1849ba5ac | affected | git | 2964dbe631fd21ad7873b1752b895548d3c12496 | Unavailable | None listed |
| 0f314f6c2e77beb1a232be21dd6be4e1849ba5ac | affected | git | 6aaef1a75985865d8c6c5b65fb54152060faba48 | Unavailable | None listed |
| 0f314f6c2e77beb1a232be21dd6be4e1849ba5ac | affected | git | fbc81e78d75bf28972bc22b1599559557b1a1b83 | Unavailable | None listed |
| 0f314f6c2e77beb1a232be21dd6be4e1849ba5ac | affected | git | 3c3e33b7edca7a2d6a96801f287f9faeb684d655 | Unavailable | None listed |
| 0f314f6c2e77beb1a232be21dd6be4e1849ba5ac | affected | git | 1c2769dc80255824542ea5a4ff1a07dcdeb1603f | Unavailable | None listed |
| 0f314f6c2e77beb1a232be21dd6be4e1849ba5ac | affected | git | ed905fe7cba03cf22ae0b84cf1b73cd1c070423a | Unavailable | None listed |
| 0f314f6c2e77beb1a232be21dd6be4e1849ba5ac | affected | git | ff9dd3db6cd4c6b54a2ecbc58151bea4ec63bc59 | Unavailable | None listed |
| 0f314f6c2e77beb1a232be21dd6be4e1849ba5ac | affected | git | 7af160aea26c7dc9e6734d19306128cce156ec40 | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 4.12 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 4.12 | Unavailable | None listed |
| 5.4.297 | unaffected | semver | Unavailable | 5.4.* | None listed |
| 5.10.241 | unaffected | semver | Unavailable | 5.10.* | None listed |
| 5.15.190 | unaffected | semver | Unavailable | 5.15.* | None listed |
| 6.1.149 | unaffected | semver | Unavailable | 6.1.* | None listed |
| 6.6.103 | unaffected | semver | Unavailable | 6.6.* | None listed |
| 6.12.44 | unaffected | semver | Unavailable | 6.12.* | None listed |
| 6.16.4 | unaffected | semver | Unavailable | 6.16.* | None listed |
| 6.17 | unaffected | original_commit_for_fix | Unavailable | * | None listed |