Skip to content

Commit 1bc3bcb

Browse files
committed
Fix XSS issue in Manager and Host Manager. This is CVE-2007-2450.
git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@547077 13f79535-47bb-0310-9956-ffa450edef68
1 parent 85d386f commit 1bc3bcb

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

java/org/apache/catalina/manager/HTMLManagerServlet.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,7 @@ public void doGet(HttpServletRequest request,
130130
message = stop(path);
131131
} else {
132132
message =
133-
sm.getString("managerServlet.unknownCommand",
134-
RequestUtil.filter(command));
133+
sm.getString("managerServlet.unknownCommand", command);
135134
}
136135

137136
list(request, response, message);
@@ -305,7 +304,11 @@ public void list(HttpServletRequest request,
305304
// Message Section
306305
args = new Object[3];
307306
args[0] = sm.getString("htmlManagerServlet.messageLabel");
308-
args[1] = (message == null || message.length() == 0) ? "OK" : message;
307+
if (message == null || message.length() == 0) {
308+
args[1] = "OK";
309+
} else {
310+
args[1] = RequestUtil.filter(message);
311+
}
309312
writer.print(MessageFormat.format(Constants.MESSAGE_SECTION, args));
310313

311314
// Manager Section

java/org/apache/catalina/manager/host/HTMLHostManagerServlet.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232

3333
import org.apache.catalina.Container;
3434
import org.apache.catalina.Host;
35+
import org.apache.catalina.util.RequestUtil;
3536
import org.apache.catalina.util.ServerInfo;
3637

3738
/**
@@ -195,7 +196,11 @@ public void list(HttpServletRequest request,
195196
// Message Section
196197
args = new Object[3];
197198
args[0] = sm.getString("htmlHostManagerServlet.messageLabel");
198-
args[1] = (message == null || message.length() == 0) ? "OK" : message;
199+
if (message == null || message.length() == 0) {
200+
args[1] = "OK";
201+
} else {
202+
args[1] = RequestUtil.filter(message);
203+
}
199204
writer.print(MessageFormat.format(Constants.MESSAGE_SECTION, args));
200205

201206
// Manager Section

0 commit comments

Comments
 (0)