Commit 6088451
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.
CVE: 2025-13751
Change-Id: Id6a13b0c8124117bcea2926b16607ef39344015a
Signed-off-by: Lev Stipakov <[email protected]>
Acked-by: Selva Nair <[email protected]>1 parent 7791f53 commit 6088451
1 file changed
+51
-9
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
208 | 208 | | |
209 | 209 | | |
210 | 210 | | |
| 211 | + | |
211 | 212 | | |
212 | 213 | | |
213 | 214 | | |
| |||
260 | 261 | | |
261 | 262 | | |
262 | 263 | | |
263 | | - | |
| 264 | + | |
264 | 265 | | |
265 | 266 | | |
266 | 267 | | |
| |||
281 | 282 | | |
282 | 283 | | |
283 | 284 | | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
284 | 291 | | |
285 | 292 | | |
286 | 293 | | |
| |||
437 | 444 | | |
438 | 445 | | |
439 | 446 | | |
440 | | - | |
| 447 | + | |
441 | 448 | | |
442 | 449 | | |
443 | | - | |
444 | | - | |
| 450 | + | |
| 451 | + | |
445 | 452 | | |
446 | 453 | | |
447 | 454 | | |
| |||
3248 | 3255 | | |
3249 | 3256 | | |
3250 | 3257 | | |
| 3258 | + | |
3251 | 3259 | | |
3252 | 3260 | | |
3253 | 3261 | | |
| |||
3267 | 3275 | | |
3268 | 3276 | | |
3269 | 3277 | | |
| 3278 | + | |
3270 | 3279 | | |
3271 | 3280 | | |
3272 | 3281 | | |
| |||
3562 | 3571 | | |
3563 | 3572 | | |
3564 | 3573 | | |
3565 | | - | |
| 3574 | + | |
| 3575 | + | |
| 3576 | + | |
| 3577 | + | |
3566 | 3578 | | |
3567 | 3579 | | |
3568 | 3580 | | |
| |||
3834 | 3846 | | |
3835 | 3847 | | |
3836 | 3848 | | |
3837 | | - | |
3838 | | - | |
| 3849 | + | |
3839 | 3850 | | |
3840 | | - | |
3841 | | - | |
| 3851 | + | |
| 3852 | + | |
| 3853 | + | |
| 3854 | + | |
| 3855 | + | |
| 3856 | + | |
| 3857 | + | |
| 3858 | + | |
| 3859 | + | |
| 3860 | + | |
| 3861 | + | |
| 3862 | + | |
| 3863 | + | |
| 3864 | + | |
| 3865 | + | |
| 3866 | + | |
| 3867 | + | |
| 3868 | + | |
| 3869 | + | |
| 3870 | + | |
| 3871 | + | |
| 3872 | + | |
3842 | 3873 | | |
3843 | 3874 | | |
3844 | 3875 | | |
3845 | 3876 | | |
3846 | 3877 | | |
3847 | 3878 | | |
3848 | 3879 | | |
| 3880 | + | |
| 3881 | + | |
| 3882 | + | |
| 3883 | + | |
| 3884 | + | |
| 3885 | + | |
| 3886 | + | |
| 3887 | + | |
| 3888 | + | |
| 3889 | + | |
| 3890 | + | |
3849 | 3891 | | |
3850 | 3892 | | |
3851 | 3893 | | |
| |||
0 commit comments