Parcourir la source

grammars : blacklists character control set (#5888)

* Prevent control characters from being served in json string

* Prevent control characters from being served in json string (array)
ExtReMLapin il y a 1 an
Parent
commit
3de31677d3
2 fichiers modifiés avec 2 ajouts et 2 suppressions
  1. 1 1
      grammars/json.gbnf
  2. 1 1
      grammars/json_arr.gbnf

+ 1 - 1
grammars/json.gbnf

@@ -15,7 +15,7 @@ array  ::=
 
 
 string ::=
 string ::=
   "\"" (
   "\"" (
-    [^"\\] |
+    [^"\\\x7F\x00-\x1F] |
     "\\" (["\\/bfnrt] | "u" [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F]) # escapes
     "\\" (["\\/bfnrt] | "u" [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F]) # escapes
   )* "\"" ws
   )* "\"" ws
 
 

+ 1 - 1
grammars/json_arr.gbnf

@@ -24,7 +24,7 @@ array  ::=
 
 
 string ::=
 string ::=
   "\"" (
   "\"" (
-    [^"\\] |
+    [^"\\\x7F\x00-\x1F] |
     "\\" (["\\/bfnrt] | "u" [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F]) # escapes
     "\\" (["\\/bfnrt] | "u" [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F]) # escapes
   )* "\"" ws
   )* "\"" ws