Your message dated Sun, 17 Mar 2013 10:37:21 +0000
with message-id <[email protected]>
has caused the report #659899,
regarding CVE-2012-0790: XSS
to be marked as having been forwarded to the upstream software
author(s) [email protected]
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
659899: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=659899
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Time specifiers supplied in the Navigator Graph page web form are used
to construct filenames in the cache directory.
Also on that page, or in error output, the URL of that graph is not
properly escaped. Injection of some characters into HTML is possible,
similar to CVE-2012-0790 but perhaps not enough to cause XSS.
As a precaution, use the existing regex $xssBadRx to filter out
unnecessary characters which fixes both issues. Doing this in
parse_datetime conveniently covers all uses.
diff --git a/lib/Smokeping.pm b/lib/Smokeping.pm
index cec130a..babd658 100644
--- a/lib/Smokeping.pm
+++ b/lib/Smokeping.pm
@@ -1029,12 +1029,13 @@ sub smokecol ($) {
sub parse_datetime($){
my $in = shift;
for ($in){
+ $in =~ s/$xssBadRx/_/g;
/^(\d+)$/ && do { my $value = $1; $value = time if $value > 2**32;
return $value};
/^\s*(\d{4})-(\d{1,2})-(\d{1,2})(?:\s+(\d{1,2}):(\d{2})(?::(\d{2}))?)?\s*$/ &&
return POSIX::mktime($6||0,$5||0,$4||0,$3,$2-1,$1-1900,0,0,-1);
/^now$/ && return time;
/([ -:a-z0-9]+)/ && return $1;
};
return time;
}
--
1.7.10.4
--- End Message ---