diff --git a/package/gluon-status-page/files/lib/gluon/status-page/www/cgi-bin/status b/package/gluon-status-page/files/lib/gluon/status-page/www/cgi-bin/status index dd30ae57..01b468da 100755 --- a/package/gluon-status-page/files/lib/gluon/status-page/www/cgi-bin/status +++ b/package/gluon-status-page/files/lib/gluon/status-page/www/cgi-bin/status @@ -1,5 +1,9 @@ #!/bin/sh +escape_html() { + sed 's/&/\&/g; s//\>/g; s/"/\"/g; s/'"'"'/\'/g' +} + linknodes() { PREFIX=$(uci get network.local_node_route6.target | cut -d: -f 1-4) sed 's#\([0-9a-f]\{2\}\):\([0-9a-f]\{2\}\):\([0-9a-f]\{2\}\):\([0-9a-f]\{2\}\):\([0-9a-f]\{2\}\):\([0-9a-f]\{2\}\)#&#g' @@ -21,19 +25,19 @@ echo "

$(cat /proc/sys/kernel/hostname)

" echo "
"
 
-echo "Firmware release: $(cat /lib/gluon/release)"
+echo "Firmware release: $(cat /lib/gluon/release | escape_html)"
 echo
 
-uptime | sed 's/^ \+//'
+uptime | sed 's/^ \+//' | escape_html
 echo
 
-ip address show dev br-client
+ip address show dev br-client | escape_html
 echo
 
-free -m
+free -m | escape_html
 echo
 
-df /rom /overlay
+df /rom /overlay | escape_html
 
 echo "
" @@ -45,11 +49,11 @@ do echo "

$if

" echo "
"
   
-  iw dev $if link
+  iw dev $if link | escape_html
 
   echo 
   
-  iw dev $if station dump | linknodes
+  iw dev $if station dump | escape_html | linknodes
 
   echo "
" done