Answer in brief
CVE-2025-38502 records a Unknown severity vulnerability in bpf: Fix oob access in cgroup local storage. The current sources do not mark it as known exploited. The current feed maps Linux/Linux (generic), Linux/Linux (generic), Siemens/SIMATIC CN 4100 (generic). Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
Answer in brief
CVE-2025-38502 records a Unknown severity vulnerability in bpf: Fix oob access in cgroup local storage. The current sources do not mark it as known exploited. The current feed maps Linux/Linux (generic), Linux/Linux (generic), Siemens/SIMATIC CN 4100 (generic). Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
A CVSS score is not reported in the current record. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps Linux/Linux (generic), Linux/Linux (generic), Siemens/SIMATIC CN 4100 (generic). Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| Linux/Linuxgeneric | >=7d9c3427894fe70d1347b4820476bf37736d2ff0 <c1c74584b9b4043c52e41fec415226e582d266a3 || >=7d9c3427894fe70d1347b4820476bf37736d2ff0 <66da7cee78590259b400e51a70622ccd41da7bb2 || >=7d9c3427894fe70d1347b4820476bf37736d2ff0 <7acfa07c585e3d7a64654d38f0a5c762877d0b9b || >=7d9c3427894fe70d1347b4820476bf37736d2ff0 <41688d1fc5d163a6c2c0e95c0419e2cb31a44648 || >=7d9c3427894fe70d1347b4820476bf37736d2ff0 <19341d5c59e8c7e8528e40f8663e99d67810473c || >=7d9c3427894fe70d1347b4820476bf37736d2ff0 <abad3d0bad72a52137e0c350c59542d75ae4f513 | c1c74584b9b4043c52e41fec415226e582d266a3, 66da7cee78590259b400e51a70622ccd41da7bb2, 7acfa07c585e3d7a64654d38f0a5c762877d0b9b, 41688d1fc5d163a6c2c0e95c0419e2cb31a44648, 19341d5c59e8c7e8528e40f8663e99d67810473c, abad3d0bad72a52137e0c350c59542d75ae4f513 |
| Linux/Linuxgeneric | 5.9 | Not reported |
| Siemens/SIMATIC CN 4100generic | >=0 <V5.0 | V5.0 |
Published upstream
Aug 16, 2025
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Aug 5, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Aug 5, 2026
In the Linux kernel, the following vulnerability has been resolved: bpf: Fix oob access in cgroup local storage Lonial reported that an out-of-bounds access in cgroup local storage can be crafted via tail calls. Given two programs each utilizing a cgroup local storage with a different value size, and one program doing a tail call into the other. The verifier will validate each of the indivial programs just fine. However, in the runtime context the bpf_cg_run_ctx holds an bpf_prog_array_item which contains the BPF program as well as any cgroup local storage flavor the program uses. Helpers such as bpf_get_local_storage() pick this up from the runtime context: ctx = container_of(current->bpf_ctx, struct bpf_cg_run_ctx, run_ctx); storage = ctx->prog_item->cgroup_storage[stype]; if (stype == BPF_CGROUP_STORAGE_SHARED) ptr = &READ_ONCE(storage->buf)->data[0]; else ptr = this_cpu_ptr(storage->percpu_buf); For the second program which was called from the originally attached one, this means bpf_get_local_storage() will pick up the former program's map, not its own. With mismatching sizes, this can result in an unintended out-of-bounds access. To fix this issue, we need to extend bpf_map_owner with an array of storage_cookie[] to match on i) the exact maps from the original program if the second program was using bpf_get_local_storage(), or ii) allow the tail call combination if the second program was not using any of the cgroup local storage maps.
Quoted source text, attributed separately from HOL analysis.
A CVSS score is not reported in the current record. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps Linux/Linux (generic), Linux/Linux (generic), Siemens/SIMATIC CN 4100 (generic). Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| Linux/Linuxgeneric | >=7d9c3427894fe70d1347b4820476bf37736d2ff0 <c1c74584b9b4043c52e41fec415226e582d266a3 || >=7d9c3427894fe70d1347b4820476bf37736d2ff0 <66da7cee78590259b400e51a70622ccd41da7bb2 || >=7d9c3427894fe70d1347b4820476bf37736d2ff0 <7acfa07c585e3d7a64654d38f0a5c762877d0b9b || >=7d9c3427894fe70d1347b4820476bf37736d2ff0 <41688d1fc5d163a6c2c0e95c0419e2cb31a44648 || >=7d9c3427894fe70d1347b4820476bf37736d2ff0 <19341d5c59e8c7e8528e40f8663e99d67810473c || >=7d9c3427894fe70d1347b4820476bf37736d2ff0 <abad3d0bad72a52137e0c350c59542d75ae4f513 | c1c74584b9b4043c52e41fec415226e582d266a3, 66da7cee78590259b400e51a70622ccd41da7bb2, 7acfa07c585e3d7a64654d38f0a5c762877d0b9b, 41688d1fc5d163a6c2c0e95c0419e2cb31a44648, 19341d5c59e8c7e8528e40f8663e99d67810473c, abad3d0bad72a52137e0c350c59542d75ae4f513 |
| Linux/Linuxgeneric | 5.9 | Not reported |
| Siemens/SIMATIC CN 4100generic | >=0 <V5.0 | V5.0 |
Published upstream
Aug 16, 2025
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Aug 5, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Aug 5, 2026
In the Linux kernel, the following vulnerability has been resolved: bpf: Fix oob access in cgroup local storage Lonial reported that an out-of-bounds access in cgroup local storage can be crafted via tail calls. Given two programs each utilizing a cgroup local storage with a different value size, and one program doing a tail call into the other. The verifier will validate each of the indivial programs just fine. However, in the runtime context the bpf_cg_run_ctx holds an bpf_prog_array_item which contains the BPF program as well as any cgroup local storage flavor the program uses. Helpers such as bpf_get_local_storage() pick this up from the runtime context: ctx = container_of(current->bpf_ctx, struct bpf_cg_run_ctx, run_ctx); storage = ctx->prog_item->cgroup_storage[stype]; if (stype == BPF_CGROUP_STORAGE_SHARED) ptr = &READ_ONCE(storage->buf)->data[0]; else ptr = this_cpu_ptr(storage->percpu_buf); For the second program which was called from the originally attached one, this means bpf_get_local_storage() will pick up the former program's map, not its own. With mismatching sizes, this can result in an unintended out-of-bounds access. To fix this issue, we need to extend bpf_map_owner with an array of storage_cookie[] to match on i) the exact maps from the original program if the second program was using bpf_get_local_storage(), or ii) allow the tail call combination if the second program was not using any of the cgroup local storage maps.
Quoted source text, attributed separately from HOL analysis.