Commit 29d8ecc
interactive.c: harden pipe handling against misbehaving clients
- Handle ConnectNamedPipe ERROR_NO_DATA as a normal
connect/drop race: log the drop, disconnect/reset
that instance, and keep listening instead of letting
a trivial local DoS stop the service.
- Add a timed peek for startup data so a client that
connects and sends nothing is timed out (IO_TIMEOUT)
and rejected, instead of leaving a worker thread blocked
forever and piling up handles.
- Protect the accept loop from resource exhaustion: before
spawning a worker, check the wait set and reject the client
if adding another handle would exceed MAXIMUM_WAIT_OBJECTS;
also skip FlushFileBuffers when no startup data was received
to avoid hangs on silent clients.
Without these fixes, a malicious local windows user can make the OpenVPN
Interactive Service exit-on-error, thus breaking all OpenVPN connections
until the service is restarted (or the system rebooted). Thus this has
been classified as "local denial of service" and CVE-2025-13751 has been
assigned.
The patch in release/2.6 and release/2.5 is identical to the commit in
2.7_rc3, except for context diffs (formatting change) and L"" to TEXT("")
adjustments.
CVE: 2025-13751
Change-Id: Id6a13b0c8124117bcea2926b16607ef39344015a
Signed-off-by: Lev Stipakov <[email protected]>
Acked-by: Selva Nair <[email protected]>1 parent f410584 commit 29d8ecc
1 file changed
+51
-10
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
215 | 215 | | |
216 | 216 | | |
217 | 217 | | |
| 218 | + | |
218 | 219 | | |
219 | 220 | | |
220 | 221 | | |
| |||
268 | 269 | | |
269 | 270 | | |
270 | 271 | | |
271 | | - | |
| 272 | + | |
272 | 273 | | |
273 | 274 | | |
274 | 275 | | |
| |||
289 | 290 | | |
290 | 291 | | |
291 | 292 | | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
292 | 299 | | |
293 | 300 | | |
294 | 301 | | |
| |||
454 | 461 | | |
455 | 462 | | |
456 | 463 | | |
457 | | - | |
| 464 | + | |
458 | 465 | | |
459 | 466 | | |
460 | | - | |
461 | | - | |
| 467 | + | |
| 468 | + | |
462 | 469 | | |
463 | 470 | | |
464 | 471 | | |
| |||
1794 | 1801 | | |
1795 | 1802 | | |
1796 | 1803 | | |
| 1804 | + | |
1797 | 1805 | | |
1798 | 1806 | | |
1799 | 1807 | | |
| |||
1817 | 1825 | | |
1818 | 1826 | | |
1819 | 1827 | | |
| 1828 | + | |
1820 | 1829 | | |
1821 | 1830 | | |
1822 | 1831 | | |
| |||
2106 | 2115 | | |
2107 | 2116 | | |
2108 | 2117 | | |
2109 | | - | |
| 2118 | + | |
| 2119 | + | |
| 2120 | + | |
| 2121 | + | |
2110 | 2122 | | |
2111 | 2123 | | |
2112 | 2124 | | |
| |||
2338 | 2350 | | |
2339 | 2351 | | |
2340 | 2352 | | |
2341 | | - | |
2342 | | - | |
2343 | | - | |
| 2353 | + | |
2344 | 2354 | | |
2345 | | - | |
2346 | | - | |
| 2355 | + | |
| 2356 | + | |
| 2357 | + | |
| 2358 | + | |
| 2359 | + | |
| 2360 | + | |
| 2361 | + | |
| 2362 | + | |
| 2363 | + | |
| 2364 | + | |
| 2365 | + | |
| 2366 | + | |
| 2367 | + | |
| 2368 | + | |
| 2369 | + | |
| 2370 | + | |
| 2371 | + | |
| 2372 | + | |
| 2373 | + | |
| 2374 | + | |
| 2375 | + | |
| 2376 | + | |
2347 | 2377 | | |
2348 | 2378 | | |
2349 | 2379 | | |
2350 | 2380 | | |
2351 | 2381 | | |
2352 | 2382 | | |
2353 | 2383 | | |
| 2384 | + | |
| 2385 | + | |
| 2386 | + | |
| 2387 | + | |
| 2388 | + | |
| 2389 | + | |
| 2390 | + | |
| 2391 | + | |
| 2392 | + | |
| 2393 | + | |
| 2394 | + | |
2354 | 2395 | | |
2355 | 2396 | | |
2356 | 2397 | | |
| |||
0 commit comments