PHP has various global state that temporarily points into request memory. In some scenarios, global state may not be correctly reset, or may be repopulated after being reset. The global state may then refer to request memory even after it has been freed. Subsequent requests may read or branch on this stale state before it is fully initialized. Multiple strategies can trigger this condition and produce remote code execution (RCE).
In the Linux kernel, the following vulnerability has been resolved: net: skbuff: preserve shared-frag marker during coalescing skb_try_coalesce() can attach paged frags from @from to @to. If @from has SKBFL_SHARED_FRAG set, the resulting @to skb can contain the same externally-owned or page-cache-backed frags, but the shared-frag marker is currently lost. That breaks the invariant relied on by later in-place writers. In particular, ESP input checks skb_has_shared_frag() before deciding whether an uncloned nonlinear skb can skip skb_cow_data(). If TCP receive coalescing has moved shared frags into an unmarked skb, ESP can see skb_has_shared_frag() as false and decrypt in place over page-cache backed frags. Propagate SKBFL_SHARED_FRAG when skb_try_coalesce() transfers paged frags. The tailroom copy path does not need the marker because it copies bytes into @to's linear data rather than transferring frag descriptors.
via cve_org
| Version | Type | Source | Base | Exp | Imp |
|---|---|---|---|---|---|
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | NVD | 7.8 | 1.8 | 5.9 |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Primary | cve.org | 7.8 | — | — |
| 3.1 | Secondary | ENISA EUVD | 7.8 | — | — |
| 3.1 | Secondary | NVD | 7.8 | 1.8 | 5.9 |
| 3.1 | Secondary | NVD | 7.8 | 1.8 | 5.9 |