@@ -30,6 +30,12 @@ func (h *HandlersTLS) EnrollHandler(w http.ResponseWriter, r *http.Request) {
3030 utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
3131 return
3232 }
33+ // To prevent abuse, check if the received UUID is valid
34+ if ! utils .CheckUUID (envVar ) {
35+ h .Inc (metricEnrollErr )
36+ utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
37+ return
38+ }
3339 // Get environment
3440 env , err := h .Envs .GetByUUID (envVar )
3541 if err != nil {
@@ -121,6 +127,12 @@ func (h *HandlersTLS) ConfigHandler(w http.ResponseWriter, r *http.Request) {
121127 utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
122128 return
123129 }
130+ // To prevent abuse, check if the received UUID is valid
131+ if ! utils .CheckUUID (envVar ) {
132+ h .Inc (metricConfigErr )
133+ utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
134+ return
135+ }
124136 // Get environment
125137 env , err := h .Envs .GetByUUID (envVar )
126138 if err != nil {
@@ -187,6 +199,12 @@ func (h *HandlersTLS) LogHandler(w http.ResponseWriter, r *http.Request) {
187199 utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
188200 return
189201 }
202+ // To prevent abuse, check if the received UUID is valid
203+ if ! utils .CheckUUID (envVar ) {
204+ h .Inc (metricLogErr )
205+ utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
206+ return
207+ }
190208 // Get environment
191209 env , err := h .Envs .GetByUUID (envVar )
192210 if err != nil {
@@ -272,6 +290,12 @@ func (h *HandlersTLS) QueryReadHandler(w http.ResponseWriter, r *http.Request) {
272290 utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
273291 return
274292 }
293+ // To prevent abuse, check if the received UUID is valid
294+ if ! utils .CheckUUID (envVar ) {
295+ h .Inc (metricReadErr )
296+ utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
297+ return
298+ }
275299 // Get environment
276300 env , err := h .Envs .GetByUUID (envVar )
277301 if err != nil {
@@ -352,6 +376,12 @@ func (h *HandlersTLS) QueryWriteHandler(w http.ResponseWriter, r *http.Request)
352376 utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
353377 return
354378 }
379+ // To prevent abuse, check if the received UUID is valid
380+ if ! utils .CheckUUID (envVar ) {
381+ h .Inc (metricWriteErr )
382+ utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
383+ return
384+ }
355385 // Get environment
356386 env , err := h .Envs .GetByUUID (envVar )
357387 if err != nil {
@@ -432,6 +462,12 @@ func (h *HandlersTLS) QuickEnrollHandler(w http.ResponseWriter, r *http.Request)
432462 utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
433463 return
434464 }
465+ // To prevent abuse, check if the received UUID is valid
466+ if ! utils .CheckUUID (envVar ) {
467+ h .Inc (metricOnelinerErr )
468+ utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
469+ return
470+ }
435471 // Get environment
436472 env , err := h .Envs .GetByUUID (envVar )
437473 if err != nil {
@@ -509,6 +545,12 @@ func (h *HandlersTLS) QuickRemoveHandler(w http.ResponseWriter, r *http.Request)
509545 utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
510546 return
511547 }
548+ // To prevent abuse, check if the received UUID is valid
549+ if ! utils .CheckUUID (envVar ) {
550+ h .Inc (metricOnelinerErr )
551+ utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
552+ return
553+ }
512554 // Get environment
513555 env , err := h .Envs .GetByUUID (envVar )
514556 if err != nil {
@@ -588,6 +630,12 @@ func (h *HandlersTLS) CarveInitHandler(w http.ResponseWriter, r *http.Request) {
588630 utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
589631 return
590632 }
633+ // To prevent abuse, check if the received UUID is valid
634+ if ! utils .CheckUUID (envVar ) {
635+ h .Inc (metricInitErr )
636+ utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
637+ return
638+ }
591639 // Get environment
592640 env , err := h .Envs .GetByUUID (envVar )
593641 if err != nil {
@@ -660,6 +708,12 @@ func (h *HandlersTLS) CarveBlockHandler(w http.ResponseWriter, r *http.Request)
660708 utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
661709 return
662710 }
711+ // To prevent abuse, check if the received UUID is valid
712+ if ! utils .CheckUUID (envVar ) {
713+ h .Inc (metricBlockErr )
714+ utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
715+ return
716+ }
663717 // Get environment
664718 env , err := h .Envs .GetByUUID (envVar )
665719 if err != nil {
@@ -721,6 +775,12 @@ func (h *HandlersTLS) FlagsHandler(w http.ResponseWriter, r *http.Request) {
721775 utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
722776 return
723777 }
778+ // To prevent abuse, check if the received UUID is valid
779+ if ! utils .CheckUUID (envVar ) {
780+ h .Inc (metricFlagsErr )
781+ utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
782+ return
783+ }
724784 // Get environment
725785 env , err := h .Envs .GetByUUID (envVar )
726786 if err != nil {
@@ -781,6 +841,12 @@ func (h *HandlersTLS) CertHandler(w http.ResponseWriter, r *http.Request) {
781841 utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
782842 return
783843 }
844+ // To prevent abuse, check if the received UUID is valid
845+ if ! utils .CheckUUID (envVar ) {
846+ h .Inc (metricCertErr )
847+ utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
848+ return
849+ }
784850 // Get environment
785851 env , err := h .Envs .GetByUUID (envVar )
786852 if err != nil {
@@ -834,6 +900,12 @@ func (h *HandlersTLS) VerifyHandler(w http.ResponseWriter, r *http.Request) {
834900 utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
835901 return
836902 }
903+ // To prevent abuse, check if the received UUID is valid
904+ if ! utils .CheckUUID (envVar ) {
905+ h .Inc (metricVerifyErr )
906+ utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
907+ return
908+ }
837909 // Get environment
838910 env , err := h .Envs .GetByUUID (envVar )
839911 if err != nil {
@@ -898,6 +970,12 @@ func (h *HandlersTLS) ScriptHandler(w http.ResponseWriter, r *http.Request) {
898970 utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
899971 return
900972 }
973+ // To prevent abuse, check if the received UUID is valid
974+ if ! utils .CheckUUID (envVar ) {
975+ h .Inc (metricScriptErr )
976+ utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
977+ return
978+ }
901979 // Get environment
902980 env , err := h .Envs .GetByUUID (envVar )
903981 if err != nil {
@@ -988,6 +1066,12 @@ func (h *HandlersTLS) EnrollPackageHandler(w http.ResponseWriter, r *http.Reques
9881066 utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
9891067 return
9901068 }
1069+ // To prevent abuse, check if the received UUID is valid
1070+ if ! utils .CheckUUID (envVar ) {
1071+ h .Inc (metricPackageErr )
1072+ utils .HTTPResponse (w , "" , http .StatusBadRequest , []byte ("" ))
1073+ return
1074+ }
9911075 // Get environment
9921076 env , err := h .Envs .GetByUUID (envVar )
9931077 if err != nil {
0 commit comments