@@ -2537,15 +2537,15 @@ apr_byte_t oidc_validate_redirect_url(request_rec *r, oidc_cfg *c,
25372537 oidc_error (r , "%s: %s" , * err_str , * err_desc );
25382538 return FALSE;
25392539 }
2540-
2541- if (( strstr ( url , "/%09" ) != NULL ) || (strstr (url , "/%2f " ) != NULL )
2542- || (strstr (url , "/%68" ) != NULL ) || (strstr (url , "/http:" ) != NULL )
2543- || (strstr (url , "/https:" ) != NULL ) || (strstr (url , "/javascript:" ) != NULL )
2540+ if ( ( strstr ( url , "/%09" ) != NULL ) || ( oidc_util_strcasestr ( url , "/%2f" ) != NULL )
2541+ || (strstr (url , "/\t " ) != NULL )
2542+ || (strstr (url , "/%68" ) != NULL ) || (oidc_util_strcasestr (url , "/http:" ) != NULL )
2543+ || (oidc_util_strcasestr (url , "/https:" ) != NULL ) || (oidc_util_strcasestr (url , "/javascript:" ) != NULL )
25442544 || (strstr (url , "/〱" ) != NULL ) || (strstr (url , "/〵" ) != NULL )
25452545 || (strstr (url , "/ゝ" ) != NULL ) || (strstr (url , "/ー" ) != NULL )
25462546 || (strstr (url , "/〱" ) != NULL ) || (strstr (url , "/ー" ) != NULL )
2547- || (strstr (url , "/<" ) != NULL ) || (strstr (url , "%01javascript:" ) != NULL )
2548- || (strstr (url , "/%5c" ) != NULL )) {
2547+ || (strstr (url , "/<" ) != NULL ) || (oidc_util_strcasestr (url , "%01javascript:" ) != NULL )
2548+ || (strstr (url , "/%5c" ) != NULL ) || ( strstr ( url , "/\\" ) != NULL ) ) {
25492549 * err_str = apr_pstrdup (r -> pool , "Invalid URL" );
25502550 * err_desc = apr_psprintf (r -> pool , "URL value \"%s\" contains illegal character(s)" , url );
25512551 oidc_error (r , "%s: %s" , * err_str , * err_desc );
0 commit comments