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 @@ -609,7 +609,9 @@ void php_filter_validate_url(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
609
609
RETURN_VALIDATION_FAILED
610
610
}
611
611
612
- if (url -> user != NULL && !is_userinfo_valid (url -> user )) {
612
+ if (url -> user != NULL && !is_userinfo_valid (url -> user )
613
+ || url -> pass != NULL && !is_userinfo_valid (url -> pass )
614
+ ) {
613
615
php_url_free (url );
614
616
RETURN_VALIDATION_FAILED
615
617
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: \\[email protected] " ,
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