File tree Expand file tree Collapse file tree 2 files changed +24
-1
lines changed Expand file tree Collapse file tree 2 files changed +24
-1
lines changed Original file line number Diff line number Diff line change @@ -632,7 +632,9 @@ void php_filter_validate_url(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
632
632
RETURN_VALIDATION_FAILED
633
633
}
634
634
635
- if (url -> user != NULL && !is_userinfo_valid (url -> user )) {
635
+ if (url -> user != NULL && !is_userinfo_valid (url -> user )
636
+ || url -> pass != NULL && !is_userinfo_valid (url -> pass )
637
+ ) {
636
638
php_url_free (url );
637
639
RETURN_VALIDATION_FAILED
638
640
Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ Bug #81122 (SSRF bypass in FILTER_VALIDATE_URL)
3
+ --SKIPIF--
4
+ <?php
5
+ if (!extension_loaded ('filter ' )) die ("skip filter extension not available " );
6
+ ?>
7
+ --FILE--
8
+ <?php
9
+ $ urls = [
10
+ "https://example.com: \\@test.com/ " ,
11
+ "https://user: \\epass@test.com " ,
12
+ "https://user: \\@test.com " ,
13
+ ];
14
+ foreach ($ urls as $ url ) {
15
+ var_dump (filter_var ($ url , FILTER_VALIDATE_URL ));
16
+ }
17
+ ?>
18
+ --EXPECT--
19
+ bool(false)
20
+ bool(false)
21
+ bool(false)
You can’t perform that action at this time.
0 commit comments