Double URL Decoding of Query Parameters
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 48/100
Direzione di ricerca
Inizia in RequestUtils.java, in extractQuery, joinFormValues e decodeUrl, quindi confronta quel flusso con i parametri di HttpServerRequest forniti da vertx-core HttpUtils::params. Riproduci il valore di query codificato %25 e verifica che un segno di percentuale letterale e un valore contenente un segno più superino l’estrazione senza una seconda decodifica URL.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Version
5.0.4
Context
When specifying query parameters that need to be URL-encoded, the extractQuery function of RequestUtils attempts URL decoding of the parameter value. This is incorrect, as parameters are already URL-decoded when retrieving them them from the HttpServerRequest (in vertx-core/io.vertx.core.http.impl.HttpUtils::params).
This behavior is likely to go undetected, as URL decoding will only lead to unexpected results if the decoded parameter value include + characters or fail if the parameter value contains %. We ran into the latter case.
Steps to reproduce
- Define an endpoint with a query parameter
- Send a request where the parameter value includes the
%character (encoded%25) - Observe
io.vertx.openapi.validation.ValidatorException: Can't decode URL value: ((name!=Invalid) AND (name!=Error) and (name like 'thi%') and ( name like '_hin_' ) ) or name=thing
at io.vertx.openapi.validation.RequestUtils.decodeUrl(RequestUtils.java:175) ~[vertx-openapi-5.0.4.jar:5.0.4]
at io.vertx.openapi.validation.RequestUtils.lambda$joinFormValues$6(RequestUtils.java:155) ~[vertx-openapi-5.0.4.jar:5.0.4]
[...]
at io.vertx.openapi.validation.RequestUtils.joinFormValues(RequestUtils.java:155) ~[vertx-openapi-5.0.4.jar:5.0.4]
at io.vertx.openapi.validation.RequestUtils.extractQuery(RequestUtils.java:131) ~[vertx-openapi-5.0.4.jar:5.0.4]
at io.vertx.openapi.validation.RequestUtils.extract(RequestUtils.java:87) ~[vertx-openapi-5.0.4.jar:5.0.4]
at io.vertx.openapi.validation.RequestUtils.extract(RequestUtils.java:55) ~[vertx-openapi-5.0.4.jar:5.0.4]
at io.vertx.ext.web.openapi.router.RouterBuilder.lambda$create$0(RouterBuilder.java:61) ~[vertx-web-openapi-router-5.0.4.jar:5.0.4]
at io.vertx.ext.web.openapi.router.impl.RouterBuilderImpl.lambda$createRouter$3(RouterBuilderImpl.java:131) ~[vertx-web-openapi-router-5.0.4.jar:5.0.4]
[...]
Caused by: java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - Error at index 0 in: "')"
at java.base/java.net.URLDecoder.decode(URLDecoder.java:243) ~[?:?]
at io.vertx.openapi.validation.RequestUtils.decodeUrl(RequestUtils.java:173) ~[vertx-openapi-5.0.4.jar:5.0.4]
... 68 more
Do you have a reproducer?
No response
- Lingua principale
- Java
- Stelle
- 15
- Fork
- 19
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di eclipse-vertx/vertx-openapi
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
eclipse-vertx/vertx-openapi#137 · 5 commenti ·
-
Add OpenAPI 3.2 supportApertaenhancement help wanted
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
eclipse-vertx/vertx-openapi#136 · 1 commento ·
-
enhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 38/100
eclipse-vertx/vertx-openapi#122 · 4 commenti ·
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
eclipse-vertx/vertx-openapi#93 · 1 commento ·
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
eclipse-vertx/vertx-openapi#92 · 4 commenti ·
Tutte le issue di eclipse-vertx/vertx-openapi
Issue simili
-
staticAssetsPath follows symlinks outside the directory on WindowsForse già presa @ybelMekk l’ha presa oggi. Apertabug security findings
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
navikt/mock-oauth2-server#1132 ·
I maintainer di solito rispondono entro 1 giorno
-
agent:working follow-up
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Sanne/incus-spawn#1683 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
checkstyle/checkstyle#22210 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
google/error-prone#6239 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[Failing Test]: BigqueryClient.queryUnflattened fails BigQuery ITs on a transient 503Forse già presa @mxtymoshyk l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
I maintainer di solito rispondono entro 1 giorno