Commit a20cd1b
Prevent URL cache path traversal
Summary: `HTTPURLHandler._get_local_path()` used URL path components when building cache destinations. Normalize URL path components with `PurePosixPath`, reject `..` traversal, and validate the resolved cache path remains under `get_cache_dir()`.
Reviewed By: nponte
Differential Revision: D108953882
fbshipit-source-id: 6f8b9704b0712ddbf3e1b97430448ebe0300ef751 parent a47d4a0 commit a20cd1b
2 files changed
Lines changed: 60 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
| |||
917 | 918 | | |
918 | 919 | | |
919 | 920 | | |
920 | | - | |
921 | | - | |
922 | | - | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
| 933 | + | |
923 | 934 | | |
924 | 935 | | |
925 | 936 | | |
| |||
928 | 939 | | |
929 | 940 | | |
930 | 941 | | |
931 | | - | |
932 | | - | |
933 | | - | |
| 942 | + | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
| 951 | + | |
| 952 | + | |
934 | 953 | | |
935 | | - | |
936 | | - | |
937 | | - | |
| 954 | + | |
| 955 | + | |
| 956 | + | |
938 | 957 | | |
939 | 958 | | |
940 | 959 | | |
| |||
1595 | 1614 | | |
1596 | 1615 | | |
1597 | 1616 | | |
1598 | | - | |
1599 | 1617 | | |
1600 | 1618 | | |
1601 | 1619 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
303 | 303 | | |
304 | 304 | | |
305 | 305 | | |
306 | | - | |
307 | | - | |
308 | | - | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
309 | 309 | | |
310 | 310 | | |
311 | 311 | | |
| |||
372 | 372 | | |
373 | 373 | | |
374 | 374 | | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
375 | 404 | | |
376 | 405 | | |
377 | 406 | | |
| |||
0 commit comments