From 8b832663011c4ff7b853b218361855efd18d8510 Mon Sep 17 00:00:00 2001 From: Andy Green Date: Sat, 2 Apr 2016 08:03:48 +0800 Subject: [PATCH] uri processing reject paths not starting with slash https://github.com/warmcat/libwebsockets/issues/481 Return 403 Forbidden if we don't end up with a uri path starting with / Test server already did this, but this makes it built into the library. Signed-off-by: Andy Green --- lib/server.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/server.c b/lib/server.c index 0b6e4c1f1..59e664f93 100644 --- a/lib/server.c +++ b/lib/server.c @@ -243,6 +243,14 @@ lws_http_action(struct lws *wsi) break; } + /* we insist on absolute paths */ + + if (uri_ptr[0] != '/') { + lws_return_http_status(wsi, HTTP_STATUS_FORBIDDEN, NULL); + + goto bail_nuke_ah; + } + /* HTTP header had a content length? */ wsi->u.http.content_length = 0;