Skip to content

Update README.md content#1309

Open
julz0815 wants to merge 3 commits into
mainfrom
fixtest2
Open

Update README.md content#1309
julz0815 wants to merge 3 commits into
mainfrom
fixtest2

Conversation

@julz0815
Copy link
Copy Markdown
Owner

@julz0815 julz0815 commented Sep 5, 2025

No description provided.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025



Scan Summary:
PIPELINE_SCAN_VERSION: 25.8.2-0
STATIC_ENGINE_VERSION: 20250829155158
DEV-STAGE: DEVELOPMENT
SCAN_ID: 419af690-d77d-4408-b736-1af5f2f93b44
SCAN_STATUS: SUCCESS
SCAN_MESSAGE: Scan successful. Results size: 1053169 bytes
====================
Analysis Successful.
====================

==========================
Found 2 Scannable modules.
==========================
verademo.war
JS files within verademo.war

===================
Analyzed 2 modules.
===================
verademo.war
JS files within verademo.war

====================
Analyzed 183 issues.
====================

details


-------------------------------------
Found 5 issues of Very High severity.
-------------------------------------
CWE-95: Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection'): WEB-INF/views/login.jsp:33
CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection'): com/veracode/verademo/controller/ToolsController.java:56
CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection'): com/veracode/verademo/controller/ToolsController.java:59
CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection'): com/veracode/verademo/controller/ToolsController.java:91
CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection'): com/veracode/verademo/controller/ToolsController.java:94
---------------------------------
Found 14 issues of High severity.
---------------------------------
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/controller/UserController.java:167
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/controller/UserController.java:252
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/controller/UserController.java:317
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/controller/UserController.java:385
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/controller/UserController.java:496
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/controller/UserController.java:507
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/controller/BlabController.java:490
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/commands/RemoveAccountCommand.java:40
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/commands/RemoveAccountCommand.java:47
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/commands/RemoveAccountCommand.java:51
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/commands/ListenCommand.java:40
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/commands/ListenCommand.java:47
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/commands/IgnoreCommand.java:40
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/commands/IgnoreCommand.java:47
---------------------------------------
Skipping 116 issues of Medium severity.
---------------------------------------
-----------------------------------
Skipping 30 issues of Low severity.
-----------------------------------
---------------------------------------------
Skipping 18 issues of Informational severity.
---------------------------------------------


=========================
FAILURE: Found 19 issues!
=========================

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025

Caution

Breaking Flaws identified in code!

Fixes for /home/runner/work/test-action/test-action/src/main/java/com/veracode/verademo/controller/UserController.java:
Falws found for this file:
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 230 for issue 1136
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 709 for issue 1135
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 659 for issue 1137
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 250 for issue 1148
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 804 for issue 1142
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 695 for issue 1147
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 860 for issue 1141
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 256 for issue 1139
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 494 for issue 1140
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 238 for issue 1154
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 386 for issue 1138
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 505 for issue 1149

Fix suggestions:

--- /home/runner/work/test-action/test-action/src/main/java/com/veracode/verademo/controller/UserController.java
+++ /home/runner/work/test-action/test-action/src/main/java/com/veracode/verademo/controller/UserController.java
@@ -50,6 +50,9 @@
 import com.veracode.verademo.utils.Constants;
 import com.veracode.verademo.utils.User;
 import com.veracode.verademo.utils.UserFactory;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.text.StringEscapeUtils;
+import org.owasp.encoder.Encode;
 
 /**
  * @author johnadmin
@@ -227,7 +230,7 @@
 		}
 
 		// Redirect to the appropriate place based on login actions above
-		logger.info("Redirecting to view: " + nextView);
+		logger.info("Redirecting to view: " + StringUtils.normalizeSpace(nextView));
 		return nextView;
 	}
 
@@ -235,7 +238,7 @@
 	@ResponseBody
 	public String showPasswordHint(String username)
 	{
-		logger.info("Entering password-hint with username: " + username);
+		logger.info("Entering password-hint with username: " + StringEscapeUtils.escapeJava(username));
 
 		if (username == null || username.isEmpty()) {
 			return "No username provided, please type in your username first";
@@ -247,13 +250,13 @@
 			Connection connect = DriverManager.getConnection(Constants.create().getJdbcConnectionString());
 
 			String sql = "SELECT password_hint FROM users WHERE username = '" + username + "'";
-			logger.info(sql);
+			logger.info(StringEscapeUtils.escapeJava(sql));
 			Statement statement = connect.createStatement();
 			ResultSet result = statement.executeQuery(sql);
 			if (result.first()) {
 				String password= result.getString("password_hint");
 				String formatString = "Username '" + username + "' has password: %.2s%s";
-				logger.info(formatString);
+				logger.info(StringUtils.normalizeSpace(formatString));
 				return String.format(
 						formatString,
 						password,
@@ -383,7 +386,7 @@
 
 			sqlStatement = connect.createStatement();
 			sqlStatement.execute(query.toString());
-			logger.info(query.toString());
+			logger.info(StringUtils.normalizeSpace(query.toString()));
 			/* END BAD CODE */
 
 			emailUser(username);
@@ -491,7 +494,7 @@
 			/* START BAD CODE */
 			String sqlMyEvents = "select event from users_history where blabber=\"" + username
 					+ "\" ORDER BY eventid DESC; ";
-			logger.info(sqlMyEvents);
+			logger.info(StringUtils.normalizeSpace(sqlMyEvents));
 			Statement sqlStatement = connect.createStatement();
 			ResultSet userHistoryResult = sqlStatement.executeQuery(sqlMyEvents);
 			/* END BAD CODE */
@@ -502,7 +505,7 @@
 
 			// Get the users information
 			String sql = "SELECT username, real_name, blab_name FROM users WHERE username = '" + username + "'";
-			logger.info(sql);
+			logger.info(StringEscapeUtils.escapeJava(sql));
 			myInfo = connect.prepareStatement(sql);
 			ResultSet myInfoResults = myInfo.executeQuery();
 			myInfoResults.next();
@@ -656,7 +659,7 @@
 				String extension = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
 				String path = imageDir + username + extension;
 
-				logger.info("Saving new profile image: " + path);
+				logger.info("Saving new profile image: " + StringUtils.normalizeSpace(path));
 
 				file.transferTo(new File(path)); // will delete any existing file first
 			}
@@ -692,7 +695,7 @@
 
 		String path = context.getRealPath("/resources/images") + File.separator + imageName;
 
-		logger.info("Fetching profile image: " + path);
+		logger.info("Fetching profile image: " + StringUtils.normalizeSpace(path));
 
 		InputStream inputStream = null;
 		OutputStream outStream = null;
@@ -706,7 +709,7 @@
 				// set to binary type if MIME mapping not found
 				mimeType = "application/octet-stream";
 			}
-			logger.info("MIME type: " + mimeType);
+			logger.info("MIME type: " + StringUtils.normalizeSpace(mimeType));
 
 			// Set content attributes for the response
 			response.setContentType(mimeType);
@@ -801,7 +804,7 @@
 			}
 		}
 
-		logger.info("Username: " + username + " already exists. Try again.");
+		logger.info("Username: " + StringUtils.normalizeSpace(username) + " already exists. Try again.");
 		return true;
 	}
 
@@ -857,7 +860,7 @@
 			if (oldImage != null) {
 				String extension = oldImage.substring(oldImage.lastIndexOf("."));
 
-				logger.info("Renaming profile image from " + oldImage + " to " + newUsername + extension);
+				logger.info("Renaming profile image from " + Encode.forJava(oldImage) + " to " + newUsername + extension);
 				String path = context.getRealPath("/resources/images") + File.separator;
 
 				File oldName = new File(path + oldImage);

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025

Caution

Breaking Flaws identified in code!

Fixes for /home/runner/work/test-action/test-action/src/main/java/com/veracode/verademo/commands/RemoveAccountCommand.java:
Falws found for this file:
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 46 for issue 1152
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 39 for issue 1156
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 50 for issue 1131

Fix suggestions:

--- /home/runner/work/test-action/test-action/src/main/java/com/veracode/verademo/commands/RemoveAccountCommand.java
+++ /home/runner/work/test-action/test-action/src/main/java/com/veracode/verademo/commands/RemoveAccountCommand.java
@@ -8,6 +8,8 @@
 
 import org.apache.log4j.LogManager;
 import org.apache.log4j.Logger;
+import org.apache.commons.text.StringEscapeUtils;
+import org.apache.commons.lang3.StringUtils;
 
 public class RemoveAccountCommand implements BlabberCommand {
 	private static final Logger logger = LogManager.getLogger("VeraDemo:RemoveAccountCommand");
@@ -36,18 +38,18 @@
 
 			sqlQuery = "SELECT blab_name FROM users WHERE username = '" + blabberUsername +"'";
 			Statement sqlStatement = connect.createStatement();
-			logger.info(sqlQuery);
+			logger.info(StringUtils.normalizeSpace(sqlQuery));
 			ResultSet result = sqlStatement.executeQuery(sqlQuery);
 			result.next();
 			
 			/* START BAD CODE ------*/
 			String event = "Removed account for blabber " + result.getString(1);
 			sqlQuery = "INSERT INTO users_history (blabber, event) VALUES ('" + blabberUsername + "', '" + event + "')";
-			logger.info(sqlQuery);
+			logger.info(StringEscapeUtils.escapeJava(sqlQuery));
 			sqlStatement.execute(sqlQuery);
 			
 			sqlQuery = "DELETE FROM users WHERE username = '" + blabberUsername + "'";
-			logger.info(sqlQuery);
+			logger.info(StringUtils.normalizeSpace(sqlQuery));
 			sqlStatement.execute(sqlQuery);
 			/* END BAD CODE */
 			

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025

Caution

Breaking Flaws identified in code!

Fixes for /home/runner/work/test-action/test-action/src/main/java/com/veracode/verademo/commands/ListenCommand.java:
Falws found for this file:
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 46 for issue 1144
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 39 for issue 1151

Fix suggestions:

--- /home/runner/work/test-action/test-action/src/main/java/com/veracode/verademo/commands/ListenCommand.java
+++ /home/runner/work/test-action/test-action/src/main/java/com/veracode/verademo/commands/ListenCommand.java
@@ -8,6 +8,8 @@
 
 import org.apache.log4j.LogManager;
 import org.apache.log4j.Logger;
+import org.apache.commons.text.StringEscapeUtils;
+import org.apache.commons.lang3.StringUtils;
 
 public class ListenCommand implements BlabberCommand {
 	private static final Logger logger = LogManager.getLogger("VeraDemo:ListenCommand");
@@ -36,14 +38,14 @@
 
 			sqlQuery = "SELECT blab_name FROM users WHERE username = '" + blabberUsername + "'";
 			Statement sqlStatement = connect.createStatement();
-			logger.info(sqlQuery);
+			logger.info(StringUtils.normalizeSpace(sqlQuery));
 			ResultSet result = sqlStatement.executeQuery(sqlQuery);
 			result.next();
 			
 			/* START BAD CODE -----*/
 			String event = username + " started listening to " + blabberUsername + "(" + result.getString(1) + ")";
 			sqlQuery = "INSERT INTO users_history (blabber, event) VALUES (\"" + username + "\", \"" + event + "\")";
-			logger.info(sqlQuery);
+			logger.info(StringEscapeUtils.escapeJava(sqlQuery));
 			sqlStatement.execute(sqlQuery);
 			/* END BAD CODE */
 		} catch (SQLException e) {

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025

Caution

Breaking Flaws identified in code!

Fixes for /home/runner/work/test-action/test-action/src/main/java/com/veracode/verademo/commands/IgnoreCommand.java:
Falws found for this file:
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 39 for issue 1150
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 46 for issue 1143

Fix suggestions:

--- /home/runner/work/test-action/test-action/src/main/java/com/veracode/verademo/commands/IgnoreCommand.java
+++ /home/runner/work/test-action/test-action/src/main/java/com/veracode/verademo/commands/IgnoreCommand.java
@@ -8,6 +8,8 @@
 
 import org.apache.log4j.LogManager;
 import org.apache.log4j.Logger;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.text.StringEscapeUtils;
 
 public class IgnoreCommand implements BlabberCommand {	
 	private static final Logger logger = LogManager.getLogger("VeraDemo:IgnoreCommand");
@@ -36,14 +38,14 @@
 						
 			sqlQuery = "SELECT blab_name FROM users WHERE username = '" + blabberUsername + "'";
 			Statement sqlStatement = connect.createStatement();
-			logger.info(sqlQuery);
+			logger.info(StringUtils.normalizeSpace(sqlQuery));
 			ResultSet result = sqlStatement.executeQuery(sqlQuery);
 			result.next();
 			
 			/* START BAD CODE */
 			String event = username + " is now ignoring " + blabberUsername + "(" + result.getString(1) + ")";
 			sqlQuery = "INSERT INTO users_history (blabber, event) VALUES (\"" + username + "\", \"" + event + "\")";
-			logger.info(sqlQuery);
+			logger.info(StringEscapeUtils.escapeJava(sqlQuery));
 			sqlStatement.execute(sqlQuery);
 			/* END BAD CODE */
 		} catch (SQLException e) {

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025

Caution

Breaking Flaws identified in code!

Fixes for /home/runner/work/test-action/test-action/src/main/java/com/veracode/verademo/controller/BlabController.java:
Falws found for this file:
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 559 for issue 1145
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 486 for issue 1133
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 558 for issue 1132

Fix suggestions:

--- /home/runner/work/test-action/test-action/src/main/java/com/veracode/verademo/controller/BlabController.java
+++ /home/runner/work/test-action/test-action/src/main/java/com/veracode/verademo/controller/BlabController.java
@@ -27,6 +27,7 @@
 import com.veracode.verademo.model.Blabber;
 import com.veracode.verademo.model.Comment;
 import com.veracode.verademo.utils.Constants;
+import org.apache.commons.lang3.StringUtils;
 
 @Controller
 @Scope("request")
@@ -483,7 +484,7 @@
 			connect = DriverManager.getConnection(Constants.create().getJdbcConnectionString());
 
 			// Find the Blabbers
-			logger.info(blabbersSql);
+			logger.info(StringUtils.normalizeSpace(blabbersSql));
 			blabberQuery = connect.prepareStatement(blabbersSql);
 			blabberQuery.setString(1, username);
 			blabberQuery.setString(2, username);
@@ -555,8 +556,8 @@
 			return nextView = "redirect:login?target=blabbers";
 		}
 
-		logger.info("blabberUsername = " + blabberUsername);
-		logger.info("command = " + command);
+		logger.info("blabberUsername = " + StringUtils.normalizeSpace(blabberUsername));
+		logger.info("command = " + StringUtils.normalizeSpace(command));
 
 		Connection connect = null;
 		PreparedStatement action = null;

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025

Caution

Breaking Flaws identified in code!

Fixes for /home/runner/work/test-action/test-action/src/main/java/com/veracode/verademo/controller/ResetController.java:
Falws found for this file:
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 132 for issue 1158
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 159 for issue 1153
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 109 for issue 1134
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 193 for issue 1157
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 194 for issue 1146

Fix suggestions:

--- /home/runner/work/test-action/test-action/src/main/java/com/veracode/verademo/controller/ResetController.java
+++ /home/runner/work/test-action/test-action/src/main/java/com/veracode/verademo/controller/ResetController.java
@@ -26,6 +26,9 @@
 import java.io.File;
 import java.io.FileReader;
 import java.io.IOException;
+import org.apache.commons.text.StringEscapeUtils;
+import org.apache.commons.lang3.StringUtils;
+import java.net.URLEncoder;
 
 @Controller
 @Scope("request")
@@ -106,7 +109,7 @@
 			usersStatement = connect.prepareStatement(
 					"INSERT INTO users (username, password, password_hint, created_at, last_login, real_name, blab_name) values (?, ?, ?, ?, ?, ?, ?);");
 			for (int i = 0; i < users.length; i++) {
-				logger.info("Adding user " + users[i].getUserName());
+				logger.info("Adding user " + StringUtils.normalizeSpace(users[i].getUserName()));
 				usersStatement.setString(1, users[i].getUserName());
 				usersStatement.setString(2, users[i].getPassword());
 				usersStatement.setString(3, users[i].getPasswordHint());
@@ -129,7 +132,7 @@
 						String blabber = users[i].getUserName();
 						String listener = users[j].getUserName();
 
-						logger.info("Adding " + listener + " as a listener of " + blabber);
+						logger.info("Adding " + StringEscapeUtils.escapeJava(listener) + " as a listener of " + blabber);
 
 						listenersStatement.setString(1, blabber);
 						listenersStatement.setString(2, listener);
@@ -156,7 +159,7 @@
 				long vary = rand.nextInt(30 * 24 * 3600);
 
 				String username = users[randomUserOffset].getUserName();
-				logger.info("Adding a blab for " + username);
+				logger.info("Adding a blab for " + StringEscapeUtils.escapeJava(username));
 
 				blabsStatement.setString(1, username);
 				blabsStatement.setString(2, blabContent);
@@ -190,8 +193,8 @@
 					// get the number or seconds until some time in the last 30 days.
 					long vary = rand.nextInt(30 * 24 * 3600);
 
-					logger.info("Adding a comment from " + username + " on blab ID " + String.valueOf(i));
-					logger.info("Adding another comment from " + username + " on blab ID " + String.valueOf(i));
+					logger.info("Adding a comment from " + username + " on blab ID " + String.valueOf(StringEscapeUtils.escapeJava(i)));
+					logger.info("Adding another comment from " + username + " on blab ID " + String.valueOf(URLEncoder.encode(i.toString())));
 					commentsStatement.setInt(1, i);
 					commentsStatement.setString(2, username);
 					commentsStatement.setString(3, comment);

Updated text in README.md for clarity.
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025



Scan Summary:
PIPELINE_SCAN_VERSION: 25.8.2-0
STATIC_ENGINE_VERSION: 20250829155158
DEV-STAGE: DEVELOPMENT
SCAN_ID: 98153589-a35a-4751-b613-fb3af084d9de
SCAN_STATUS: SUCCESS
SCAN_MESSAGE: Scan successful. Results size: 1053169 bytes
====================
Analysis Successful.
====================

==========================
Found 2 Scannable modules.
==========================
verademo.war
JS files within verademo.war

===================
Analyzed 2 modules.
===================
verademo.war
JS files within verademo.war

====================
Analyzed 183 issues.
====================

details


-------------------------------------
Found 5 issues of Very High severity.
-------------------------------------
CWE-95: Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection'): WEB-INF/views/login.jsp:33
CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection'): com/veracode/verademo/controller/ToolsController.java:56
CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection'): com/veracode/verademo/controller/ToolsController.java:59
CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection'): com/veracode/verademo/controller/ToolsController.java:91
CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection'): com/veracode/verademo/controller/ToolsController.java:94
---------------------------------
Found 14 issues of High severity.
---------------------------------
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/controller/UserController.java:167
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/controller/UserController.java:252
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/controller/UserController.java:317
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/controller/UserController.java:385
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/controller/UserController.java:496
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/controller/UserController.java:507
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/controller/BlabController.java:490
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/commands/RemoveAccountCommand.java:40
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/commands/RemoveAccountCommand.java:47
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/commands/RemoveAccountCommand.java:51
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/commands/ListenCommand.java:40
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/commands/ListenCommand.java:47
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/commands/IgnoreCommand.java:40
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/commands/IgnoreCommand.java:47
---------------------------------------
Skipping 116 issues of Medium severity.
---------------------------------------
-----------------------------------
Skipping 30 issues of Low severity.
-----------------------------------
---------------------------------------------
Skipping 18 issues of Informational severity.
---------------------------------------------


=========================
FAILURE: Found 19 issues!
=========================

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025

Caution

Breaking Flaws identified in code!

Fixes for src/main/java/com/veracode/verademo/controller/UserController.java:
Falws found for this file:
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 230 for issue 1136
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 709 for issue 1135
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 659 for issue 1137
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 250 for issue 1148
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 804 for issue 1142
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 695 for issue 1147
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 860 for issue 1141
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 256 for issue 1139
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 494 for issue 1140
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 238 for issue 1154
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 386 for issue 1138
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 505 for issue 1149

Fix suggestions:

--- src/main/java/com/veracode/verademo/controller/UserController.java
+++ src/main/java/com/veracode/verademo/controller/UserController.java
@@ -50,6 +50,8 @@
 import com.veracode.verademo.utils.Constants;
 import com.veracode.verademo.utils.User;
 import com.veracode.verademo.utils.UserFactory;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.text.StringEscapeUtils;
 
 /**
  * @author johnadmin
@@ -227,7 +229,7 @@
 		}
 
 		// Redirect to the appropriate place based on login actions above
-		logger.info("Redirecting to view: " + nextView);
+		logger.info("Redirecting to view: " + StringUtils.normalizeSpace(nextView));
 		return nextView;
 	}
 
@@ -235,7 +237,7 @@
 	@ResponseBody
 	public String showPasswordHint(String username)
 	{
-		logger.info("Entering password-hint with username: " + username);
+		logger.info("Entering password-hint with username: " + StringUtils.normalizeSpace(username));
 
 		if (username == null || username.isEmpty()) {
 			return "No username provided, please type in your username first";
@@ -247,13 +249,13 @@
 			Connection connect = DriverManager.getConnection(Constants.create().getJdbcConnectionString());
 
 			String sql = "SELECT password_hint FROM users WHERE username = '" + username + "'";
-			logger.info(sql);
+			logger.info(StringEscapeUtils.escapeJava(sql));
 			Statement statement = connect.createStatement();
 			ResultSet result = statement.executeQuery(sql);
 			if (result.first()) {
 				String password= result.getString("password_hint");
 				String formatString = "Username '" + username + "' has password: %.2s%s";
-				logger.info(formatString);
+				logger.info(StringUtils.normalizeSpace(formatString));
 				return String.format(
 						formatString,
 						password,
@@ -383,7 +385,7 @@
 
 			sqlStatement = connect.createStatement();
 			sqlStatement.execute(query.toString());
-			logger.info(query.toString());
+			logger.info(StringUtils.normalizeSpace(query.toString()));
 			/* END BAD CODE */
 
 			emailUser(username);
@@ -491,7 +493,7 @@
 			/* START BAD CODE */
 			String sqlMyEvents = "select event from users_history where blabber=\"" + username
 					+ "\" ORDER BY eventid DESC; ";
-			logger.info(sqlMyEvents);
+			logger.info(StringUtils.normalizeSpace(sqlMyEvents));
 			Statement sqlStatement = connect.createStatement();
 			ResultSet userHistoryResult = sqlStatement.executeQuery(sqlMyEvents);
 			/* END BAD CODE */
@@ -502,7 +504,7 @@
 
 			// Get the users information
 			String sql = "SELECT username, real_name, blab_name FROM users WHERE username = '" + username + "'";
-			logger.info(sql);
+			logger.info(StringEscapeUtils.escapeJava(sql));
 			myInfo = connect.prepareStatement(sql);
 			ResultSet myInfoResults = myInfo.executeQuery();
 			myInfoResults.next();
@@ -656,7 +658,7 @@
 				String extension = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
 				String path = imageDir + username + extension;
 
-				logger.info("Saving new profile image: " + path);
+				logger.info("Saving new profile image: " + StringUtils.normalizeSpace(path));
 
 				file.transferTo(new File(path)); // will delete any existing file first
 			}
@@ -692,7 +694,7 @@
 
 		String path = context.getRealPath("/resources/images") + File.separator + imageName;
 
-		logger.info("Fetching profile image: " + path);
+		logger.info("Fetching profile image: " + StringEscapeUtils.escapeJava(path));
 
 		InputStream inputStream = null;
 		OutputStream outStream = null;
@@ -706,7 +708,7 @@
 				// set to binary type if MIME mapping not found
 				mimeType = "application/octet-stream";
 			}
-			logger.info("MIME type: " + mimeType);
+			logger.info("MIME type: " + StringUtils.normalizeSpace(mimeType));
 
 			// Set content attributes for the response
 			response.setContentType(mimeType);
@@ -801,7 +803,7 @@
 			}
 		}
 
-		logger.info("Username: " + username + " already exists. Try again.");
+		logger.info("Username: " + StringUtils.normalizeSpace(username) + " already exists. Try again.");
 		return true;
 	}
 
@@ -857,7 +859,7 @@
 			if (oldImage != null) {
 				String extension = oldImage.substring(oldImage.lastIndexOf("."));
 
-				logger.info("Renaming profile image from " + oldImage + " to " + newUsername + extension);
+				logger.info("Renaming profile image from " + StringUtils.normalizeSpace(oldImage) + " to " + newUsername + extension);
 				String path = context.getRealPath("/resources/images") + File.separator;
 
 				File oldName = new File(path + oldImage);

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025

Caution

Breaking Flaws identified in code!

Fixes for src/main/java/com/veracode/verademo/commands/IgnoreCommand.java:
Falws found for this file:
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 39 for issue 1150
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 46 for issue 1143

Fix suggestions:

--- src/main/java/com/veracode/verademo/commands/IgnoreCommand.java
+++ src/main/java/com/veracode/verademo/commands/IgnoreCommand.java
@@ -8,6 +8,8 @@
 
 import org.apache.log4j.LogManager;
 import org.apache.log4j.Logger;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.text.StringEscapeUtils;
 
 public class IgnoreCommand implements BlabberCommand {	
 	private static final Logger logger = LogManager.getLogger("VeraDemo:IgnoreCommand");
@@ -36,14 +38,14 @@
 						
 			sqlQuery = "SELECT blab_name FROM users WHERE username = '" + blabberUsername + "'";
 			Statement sqlStatement = connect.createStatement();
-			logger.info(sqlQuery);
+			logger.info(StringUtils.normalizeSpace(sqlQuery));
 			ResultSet result = sqlStatement.executeQuery(sqlQuery);
 			result.next();
 			
 			/* START BAD CODE */
 			String event = username + " is now ignoring " + blabberUsername + "(" + result.getString(1) + ")";
 			sqlQuery = "INSERT INTO users_history (blabber, event) VALUES (\"" + username + "\", \"" + event + "\")";
-			logger.info(sqlQuery);
+			logger.info(StringEscapeUtils.escapeJava(sqlQuery));
 			sqlStatement.execute(sqlQuery);
 			/* END BAD CODE */
 		} catch (SQLException e) {

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025

Caution

Breaking Flaws identified in code!

Fixes for src/main/java/com/veracode/verademo/commands/RemoveAccountCommand.java:
Falws found for this file:
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 46 for issue 1152
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 39 for issue 1156
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 50 for issue 1131

Fix suggestions:

--- src/main/java/com/veracode/verademo/commands/RemoveAccountCommand.java
+++ src/main/java/com/veracode/verademo/commands/RemoveAccountCommand.java
@@ -8,6 +8,8 @@
 
 import org.apache.log4j.LogManager;
 import org.apache.log4j.Logger;
+import org.apache.commons.text.StringEscapeUtils;
+import org.apache.commons.lang3.StringUtils;
 
 public class RemoveAccountCommand implements BlabberCommand {
 	private static final Logger logger = LogManager.getLogger("VeraDemo:RemoveAccountCommand");
@@ -36,18 +38,18 @@
 
 			sqlQuery = "SELECT blab_name FROM users WHERE username = '" + blabberUsername +"'";
 			Statement sqlStatement = connect.createStatement();
-			logger.info(sqlQuery);
+			logger.info(StringUtils.normalizeSpace(sqlQuery));
 			ResultSet result = sqlStatement.executeQuery(sqlQuery);
 			result.next();
 			
 			/* START BAD CODE ------*/
 			String event = "Removed account for blabber " + result.getString(1);
 			sqlQuery = "INSERT INTO users_history (blabber, event) VALUES ('" + blabberUsername + "', '" + event + "')";
-			logger.info(sqlQuery);
+			logger.info(StringEscapeUtils.escapeJava(sqlQuery));
 			sqlStatement.execute(sqlQuery);
 			
 			sqlQuery = "DELETE FROM users WHERE username = '" + blabberUsername + "'";
-			logger.info(sqlQuery);
+			logger.info(StringUtils.normalizeSpace(sqlQuery));
 			sqlStatement.execute(sqlQuery);
 			/* END BAD CODE */
 			

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025

Caution

Breaking Flaws identified in code!

Fixes for src/main/java/com/veracode/verademo/controller/BlabController.java:
Falws found for this file:
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 559 for issue 1145
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 486 for issue 1133
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 558 for issue 1132

Fix suggestions:

--- src/main/java/com/veracode/verademo/controller/BlabController.java
+++ src/main/java/com/veracode/verademo/controller/BlabController.java
@@ -27,6 +27,7 @@
 import com.veracode.verademo.model.Blabber;
 import com.veracode.verademo.model.Comment;
 import com.veracode.verademo.utils.Constants;
+import org.apache.commons.lang3.StringUtils;
 
 @Controller
 @Scope("request")
@@ -483,7 +484,7 @@
 			connect = DriverManager.getConnection(Constants.create().getJdbcConnectionString());
 
 			// Find the Blabbers
-			logger.info(blabbersSql);
+			logger.info(StringUtils.normalizeSpace(blabbersSql));
 			blabberQuery = connect.prepareStatement(blabbersSql);
 			blabberQuery.setString(1, username);
 			blabberQuery.setString(2, username);
@@ -555,8 +556,8 @@
 			return nextView = "redirect:login?target=blabbers";
 		}
 
-		logger.info("blabberUsername = " + blabberUsername);
-		logger.info("command = " + command);
+		logger.info("blabberUsername = " + StringUtils.normalizeSpace(blabberUsername));
+		logger.info("command = " + StringUtils.normalizeSpace(command));
 
 		Connection connect = null;
 		PreparedStatement action = null;

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025

Caution

Breaking Flaws identified in code!

Fixes for src/main/java/com/veracode/verademo/commands/ListenCommand.java:
Falws found for this file:
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 46 for issue 1144
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 39 for issue 1151

Fix suggestions:

--- src/main/java/com/veracode/verademo/commands/ListenCommand.java
+++ src/main/java/com/veracode/verademo/commands/ListenCommand.java
@@ -8,6 +8,8 @@
 
 import org.apache.log4j.LogManager;
 import org.apache.log4j.Logger;
+import org.apache.commons.text.StringEscapeUtils;
+import org.apache.commons.lang3.StringUtils;
 
 public class ListenCommand implements BlabberCommand {
 	private static final Logger logger = LogManager.getLogger("VeraDemo:ListenCommand");
@@ -36,14 +38,14 @@
 
 			sqlQuery = "SELECT blab_name FROM users WHERE username = '" + blabberUsername + "'";
 			Statement sqlStatement = connect.createStatement();
-			logger.info(sqlQuery);
+			logger.info(StringUtils.normalizeSpace(sqlQuery));
 			ResultSet result = sqlStatement.executeQuery(sqlQuery);
 			result.next();
 			
 			/* START BAD CODE -----*/
 			String event = username + " started listening to " + blabberUsername + "(" + result.getString(1) + ")";
 			sqlQuery = "INSERT INTO users_history (blabber, event) VALUES (\"" + username + "\", \"" + event + "\")";
-			logger.info(sqlQuery);
+			logger.info(StringEscapeUtils.escapeJava(sqlQuery));
 			sqlStatement.execute(sqlQuery);
 			/* END BAD CODE */
 		} catch (SQLException e) {

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025

Caution

Breaking Flaws identified in code!

Fixes for src/main/java/com/veracode/verademo/controller/ResetController.java:
Falws found for this file:
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 132 for issue 1158
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 159 for issue 1153
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 109 for issue 1134
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 193 for issue 1157
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 194 for issue 1146

Fix suggestions:

--- src/main/java/com/veracode/verademo/controller/ResetController.java
+++ src/main/java/com/veracode/verademo/controller/ResetController.java
@@ -26,6 +26,9 @@
 import java.io.File;
 import java.io.FileReader;
 import java.io.IOException;
+import org.apache.commons.text.StringEscapeUtils;
+import org.apache.commons.lang3.StringUtils;
+import java.net.URLEncoder;
 
 @Controller
 @Scope("request")
@@ -106,7 +109,7 @@
 			usersStatement = connect.prepareStatement(
 					"INSERT INTO users (username, password, password_hint, created_at, last_login, real_name, blab_name) values (?, ?, ?, ?, ?, ?, ?);");
 			for (int i = 0; i < users.length; i++) {
-				logger.info("Adding user " + users[i].getUserName());
+				logger.info("Adding user " + StringUtils.normalizeSpace(users[i].getUserName()));
 				usersStatement.setString(1, users[i].getUserName());
 				usersStatement.setString(2, users[i].getPassword());
 				usersStatement.setString(3, users[i].getPasswordHint());
@@ -129,7 +132,7 @@
 						String blabber = users[i].getUserName();
 						String listener = users[j].getUserName();
 
-						logger.info("Adding " + listener + " as a listener of " + blabber);
+						logger.info("Adding " + StringEscapeUtils.escapeJava(listener) + " as a listener of " + blabber);
 
 						listenersStatement.setString(1, blabber);
 						listenersStatement.setString(2, listener);
@@ -156,7 +159,7 @@
 				long vary = rand.nextInt(30 * 24 * 3600);
 
 				String username = users[randomUserOffset].getUserName();
-				logger.info("Adding a blab for " + username);
+				logger.info("Adding a blab for " + StringEscapeUtils.escapeJava(username));
 
 				blabsStatement.setString(1, username);
 				blabsStatement.setString(2, blabContent);
@@ -190,8 +193,8 @@
 					// get the number or seconds until some time in the last 30 days.
 					long vary = rand.nextInt(30 * 24 * 3600);
 
-					logger.info("Adding a comment from " + username + " on blab ID " + String.valueOf(i));
-					logger.info("Adding another comment from " + username + " on blab ID " + String.valueOf(i));
+					logger.info("Adding a comment from " + username + " on blab ID " + String.valueOf(URLEncoder.encode(i.toString())));
+					logger.info("Adding another comment from " + username + " on blab ID " + String.valueOf(URLEncoder.encode(i.toString())));
 					commentsStatement.setInt(1, i);
 					commentsStatement.setString(2, username);
 					commentsStatement.setString(3, comment);

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025



Scan Summary:
PIPELINE_SCAN_VERSION: 25.8.2-0
STATIC_ENGINE_VERSION: 20250829155158
DEV-STAGE: DEVELOPMENT
SCAN_ID: e97effbb-698f-4816-ab94-d2047395d482
SCAN_STATUS: SUCCESS
SCAN_MESSAGE: Scan successful. Results size: 1053169 bytes
====================
Analysis Successful.
====================

==========================
Found 2 Scannable modules.
==========================
verademo.war
JS files within verademo.war

===================
Analyzed 2 modules.
===================
verademo.war
JS files within verademo.war

====================
Analyzed 183 issues.
====================

details


-------------------------------------
Found 5 issues of Very High severity.
-------------------------------------
CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection'): com/veracode/verademo/controller/ToolsController.java:56
CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection'): com/veracode/verademo/controller/ToolsController.java:59
CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection'): com/veracode/verademo/controller/ToolsController.java:91
CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection'): com/veracode/verademo/controller/ToolsController.java:94
CWE-95: Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection'): WEB-INF/views/login.jsp:33
---------------------------------
Found 14 issues of High severity.
---------------------------------
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/controller/UserController.java:167
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/controller/UserController.java:252
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/controller/UserController.java:317
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/controller/UserController.java:385
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/controller/UserController.java:496
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/controller/UserController.java:507
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/controller/BlabController.java:490
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/commands/RemoveAccountCommand.java:40
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/commands/RemoveAccountCommand.java:47
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/commands/RemoveAccountCommand.java:51
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/commands/ListenCommand.java:40
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/commands/ListenCommand.java:47
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/commands/IgnoreCommand.java:40
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'): com/veracode/verademo/commands/IgnoreCommand.java:47
---------------------------------------
Skipping 116 issues of Medium severity.
---------------------------------------
-----------------------------------
Skipping 30 issues of Low severity.
-----------------------------------
---------------------------------------------
Skipping 18 issues of Informational severity.
---------------------------------------------


=========================
FAILURE: Found 19 issues!
=========================

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025

Caution

Breaking Flaws identified in code!

Fixes for src/main/java/com/veracode/verademo/controller/UserController.java:
Falws found for this file:
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 230 for issue 1136
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 709 for issue 1135
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 659 for issue 1137
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 250 for issue 1148
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 804 for issue 1142
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 695 for issue 1147
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 860 for issue 1141
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 256 for issue 1139
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 494 for issue 1140
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 238 for issue 1154
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 386 for issue 1138
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 505 for issue 1149

Fix suggestions:

--- src/main/java/com/veracode/verademo/controller/UserController.java
+++ src/main/java/com/veracode/verademo/controller/UserController.java
@@ -50,6 +50,8 @@
 import com.veracode.verademo.utils.Constants;
 import com.veracode.verademo.utils.User;
 import com.veracode.verademo.utils.UserFactory;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.text.StringEscapeUtils;
 
 /**
  * @author johnadmin
@@ -227,7 +229,7 @@
 		}
 
 		// Redirect to the appropriate place based on login actions above
-		logger.info("Redirecting to view: " + nextView);
+		logger.info("Redirecting to view: " + StringUtils.normalizeSpace(nextView));
 		return nextView;
 	}
 
@@ -235,7 +237,7 @@
 	@ResponseBody
 	public String showPasswordHint(String username)
 	{
-		logger.info("Entering password-hint with username: " + username);
+		logger.info("Entering password-hint with username: " + StringEscapeUtils.escapeJava(username));
 
 		if (username == null || username.isEmpty()) {
 			return "No username provided, please type in your username first";
@@ -247,13 +249,13 @@
 			Connection connect = DriverManager.getConnection(Constants.create().getJdbcConnectionString());
 
 			String sql = "SELECT password_hint FROM users WHERE username = '" + username + "'";
-			logger.info(sql);
+			logger.info(StringEscapeUtils.escapeJava(sql));
 			Statement statement = connect.createStatement();
 			ResultSet result = statement.executeQuery(sql);
 			if (result.first()) {
 				String password= result.getString("password_hint");
 				String formatString = "Username '" + username + "' has password: %.2s%s";
-				logger.info(formatString);
+				logger.info(StringUtils.normalizeSpace(formatString));
 				return String.format(
 						formatString,
 						password,
@@ -383,7 +385,7 @@
 
 			sqlStatement = connect.createStatement();
 			sqlStatement.execute(query.toString());
-			logger.info(query.toString());
+			logger.info(StringUtils.normalizeSpace(query.toString()));
 			/* END BAD CODE */
 
 			emailUser(username);
@@ -491,7 +493,7 @@
 			/* START BAD CODE */
 			String sqlMyEvents = "select event from users_history where blabber=\"" + username
 					+ "\" ORDER BY eventid DESC; ";
-			logger.info(sqlMyEvents);
+			logger.info(StringUtils.normalizeSpace(sqlMyEvents));
 			Statement sqlStatement = connect.createStatement();
 			ResultSet userHistoryResult = sqlStatement.executeQuery(sqlMyEvents);
 			/* END BAD CODE */
@@ -502,7 +504,7 @@
 
 			// Get the users information
 			String sql = "SELECT username, real_name, blab_name FROM users WHERE username = '" + username + "'";
-			logger.info(sql);
+			logger.info(StringEscapeUtils.escapeJava(sql));
 			myInfo = connect.prepareStatement(sql);
 			ResultSet myInfoResults = myInfo.executeQuery();
 			myInfoResults.next();
@@ -656,7 +658,7 @@
 				String extension = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
 				String path = imageDir + username + extension;
 
-				logger.info("Saving new profile image: " + path);
+				logger.info("Saving new profile image: " + StringUtils.normalizeSpace(path));
 
 				file.transferTo(new File(path)); // will delete any existing file first
 			}
@@ -692,7 +694,7 @@
 
 		String path = context.getRealPath("/resources/images") + File.separator + imageName;
 
-		logger.info("Fetching profile image: " + path);
+		logger.info("Fetching profile image: " + StringUtils.normalizeSpace(path));
 
 		InputStream inputStream = null;
 		OutputStream outStream = null;
@@ -706,7 +708,7 @@
 				// set to binary type if MIME mapping not found
 				mimeType = "application/octet-stream";
 			}
-			logger.info("MIME type: " + mimeType);
+			logger.info("MIME type: " + StringUtils.normalizeSpace(mimeType));
 
 			// Set content attributes for the response
 			response.setContentType(mimeType);
@@ -801,7 +803,7 @@
 			}
 		}
 
-		logger.info("Username: " + username + " already exists. Try again.");
+		logger.info("Username: " + StringUtils.normalizeSpace(username) + " already exists. Try again.");
 		return true;
 	}
 
@@ -857,7 +859,7 @@
 			if (oldImage != null) {
 				String extension = oldImage.substring(oldImage.lastIndexOf("."));
 
-				logger.info("Renaming profile image from " + oldImage + " to " + newUsername + extension);
+				logger.info("Renaming profile image from " + StringUtils.normalizeSpace(oldImage) + " to " + newUsername + extension);
 				String path = context.getRealPath("/resources/images") + File.separator;
 
 				File oldName = new File(path + oldImage);

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025

Caution

Breaking Flaws identified in code!

Fixes for src/main/java/com/veracode/verademo/commands/IgnoreCommand.java:
Falws found for this file:
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 39 for issue 1150
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 46 for issue 1143

Fix suggestions:

--- src/main/java/com/veracode/verademo/commands/IgnoreCommand.java
+++ src/main/java/com/veracode/verademo/commands/IgnoreCommand.java
@@ -8,6 +8,8 @@
 
 import org.apache.log4j.LogManager;
 import org.apache.log4j.Logger;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.text.StringEscapeUtils;
 
 public class IgnoreCommand implements BlabberCommand {	
 	private static final Logger logger = LogManager.getLogger("VeraDemo:IgnoreCommand");
@@ -36,14 +38,14 @@
 						
 			sqlQuery = "SELECT blab_name FROM users WHERE username = '" + blabberUsername + "'";
 			Statement sqlStatement = connect.createStatement();
-			logger.info(sqlQuery);
+			logger.info(StringUtils.normalizeSpace(sqlQuery));
 			ResultSet result = sqlStatement.executeQuery(sqlQuery);
 			result.next();
 			
 			/* START BAD CODE */
 			String event = username + " is now ignoring " + blabberUsername + "(" + result.getString(1) + ")";
 			sqlQuery = "INSERT INTO users_history (blabber, event) VALUES (\"" + username + "\", \"" + event + "\")";
-			logger.info(sqlQuery);
+			logger.info(StringEscapeUtils.escapeJava(sqlQuery));
 			sqlStatement.execute(sqlQuery);
 			/* END BAD CODE */
 		} catch (SQLException e) {

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025

Caution

Breaking Flaws identified in code!

Fixes for src/main/java/com/veracode/verademo/commands/RemoveAccountCommand.java:
Falws found for this file:
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 46 for issue 1152
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 39 for issue 1156
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 50 for issue 1131

Fix suggestions:

--- src/main/java/com/veracode/verademo/commands/RemoveAccountCommand.java
+++ src/main/java/com/veracode/verademo/commands/RemoveAccountCommand.java
@@ -8,6 +8,8 @@
 
 import org.apache.log4j.LogManager;
 import org.apache.log4j.Logger;
+import org.apache.commons.text.StringEscapeUtils;
+import org.apache.commons.lang3.StringUtils;
 
 public class RemoveAccountCommand implements BlabberCommand {
 	private static final Logger logger = LogManager.getLogger("VeraDemo:RemoveAccountCommand");
@@ -36,18 +38,18 @@
 
 			sqlQuery = "SELECT blab_name FROM users WHERE username = '" + blabberUsername +"'";
 			Statement sqlStatement = connect.createStatement();
-			logger.info(sqlQuery);
+			logger.info(StringUtils.normalizeSpace(sqlQuery));
 			ResultSet result = sqlStatement.executeQuery(sqlQuery);
 			result.next();
 			
 			/* START BAD CODE ------*/
 			String event = "Removed account for blabber " + result.getString(1);
 			sqlQuery = "INSERT INTO users_history (blabber, event) VALUES ('" + blabberUsername + "', '" + event + "')";
-			logger.info(sqlQuery);
+			logger.info(StringEscapeUtils.escapeJava(sqlQuery));
 			sqlStatement.execute(sqlQuery);
 			
 			sqlQuery = "DELETE FROM users WHERE username = '" + blabberUsername + "'";
-			logger.info(sqlQuery);
+			logger.info(StringUtils.normalizeSpace(sqlQuery));
 			sqlStatement.execute(sqlQuery);
 			/* END BAD CODE */
 			

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025

Caution

Breaking Flaws identified in code!

Fixes for src/main/java/com/veracode/verademo/controller/BlabController.java:
Falws found for this file:
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 559 for issue 1145
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 486 for issue 1133
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 558 for issue 1132

Fix suggestions:

--- src/main/java/com/veracode/verademo/controller/BlabController.java
+++ src/main/java/com/veracode/verademo/controller/BlabController.java
@@ -27,6 +27,7 @@
 import com.veracode.verademo.model.Blabber;
 import com.veracode.verademo.model.Comment;
 import com.veracode.verademo.utils.Constants;
+import org.apache.commons.lang3.StringUtils;
 
 @Controller
 @Scope("request")
@@ -483,7 +484,7 @@
 			connect = DriverManager.getConnection(Constants.create().getJdbcConnectionString());
 
 			// Find the Blabbers
-			logger.info(blabbersSql);
+			logger.info(StringUtils.normalizeSpace(blabbersSql));
 			blabberQuery = connect.prepareStatement(blabbersSql);
 			blabberQuery.setString(1, username);
 			blabberQuery.setString(2, username);
@@ -555,8 +556,8 @@
 			return nextView = "redirect:login?target=blabbers";
 		}
 
-		logger.info("blabberUsername = " + blabberUsername);
-		logger.info("command = " + command);
+		logger.info("blabberUsername = " + StringUtils.normalizeSpace(blabberUsername));
+		logger.info("command = " + StringUtils.normalizeSpace(command));
 
 		Connection connect = null;
 		PreparedStatement action = null;

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025

Caution

Breaking Flaws identified in code!

Fixes for src/main/java/com/veracode/verademo/commands/ListenCommand.java:
Falws found for this file:
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 46 for issue 1144
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 39 for issue 1151

Fix suggestions:

--- src/main/java/com/veracode/verademo/commands/ListenCommand.java
+++ src/main/java/com/veracode/verademo/commands/ListenCommand.java
@@ -8,6 +8,8 @@
 
 import org.apache.log4j.LogManager;
 import org.apache.log4j.Logger;
+import org.apache.commons.text.StringEscapeUtils;
+import org.apache.commons.lang3.StringUtils;
 
 public class ListenCommand implements BlabberCommand {
 	private static final Logger logger = LogManager.getLogger("VeraDemo:ListenCommand");
@@ -36,14 +38,14 @@
 
 			sqlQuery = "SELECT blab_name FROM users WHERE username = '" + blabberUsername + "'";
 			Statement sqlStatement = connect.createStatement();
-			logger.info(sqlQuery);
+			logger.info(StringUtils.normalizeSpace(sqlQuery));
 			ResultSet result = sqlStatement.executeQuery(sqlQuery);
 			result.next();
 			
 			/* START BAD CODE -----*/
 			String event = username + " started listening to " + blabberUsername + "(" + result.getString(1) + ")";
 			sqlQuery = "INSERT INTO users_history (blabber, event) VALUES (\"" + username + "\", \"" + event + "\")";
-			logger.info(sqlQuery);
+			logger.info(StringEscapeUtils.escapeJava(sqlQuery));
 			sqlStatement.execute(sqlQuery);
 			/* END BAD CODE */
 		} catch (SQLException e) {

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025

Caution

Breaking Flaws identified in code!

Fixes for src/main/java/com/veracode/verademo/controller/ResetController.java:
Falws found for this file:
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 132 for issue 1158
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 159 for issue 1153
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 109 for issue 1134
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 193 for issue 1157
CWE 117 - Improper Output Neutralization for Logs - Severity 3 on line 194 for issue 1146

Fix suggestions:

--- src/main/java/com/veracode/verademo/controller/ResetController.java
+++ src/main/java/com/veracode/verademo/controller/ResetController.java
@@ -26,6 +26,8 @@
 import java.io.File;
 import java.io.FileReader;
 import java.io.IOException;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.text.StringEscapeUtils;
 
 @Controller
 @Scope("request")
@@ -106,7 +108,7 @@
 			usersStatement = connect.prepareStatement(
 					"INSERT INTO users (username, password, password_hint, created_at, last_login, real_name, blab_name) values (?, ?, ?, ?, ?, ?, ?);");
 			for (int i = 0; i < users.length; i++) {
-				logger.info("Adding user " + users[i].getUserName());
+				logger.info("Adding user " + StringUtils.normalizeSpace(users[i].getUserName()));
 				usersStatement.setString(1, users[i].getUserName());
 				usersStatement.setString(2, users[i].getPassword());
 				usersStatement.setString(3, users[i].getPasswordHint());
@@ -129,7 +131,7 @@
 						String blabber = users[i].getUserName();
 						String listener = users[j].getUserName();
 
-						logger.info("Adding " + listener + " as a listener of " + blabber);
+						logger.info("Adding " + StringUtils.normalizeSpace(listener) + " as a listener of " + blabber);
 
 						listenersStatement.setString(1, blabber);
 						listenersStatement.setString(2, listener);
@@ -156,7 +158,7 @@
 				long vary = rand.nextInt(30 * 24 * 3600);
 
 				String username = users[randomUserOffset].getUserName();
-				logger.info("Adding a blab for " + username);
+				logger.info("Adding a blab for " + StringEscapeUtils.escapeJava(username));
 
 				blabsStatement.setString(1, username);
 				blabsStatement.setString(2, blabContent);
@@ -190,8 +192,8 @@
 					// get the number or seconds until some time in the last 30 days.
 					long vary = rand.nextInt(30 * 24 * 3600);
 
-					logger.info("Adding a comment from " + username + " on blab ID " + String.valueOf(i));
-					logger.info("Adding another comment from " + username + " on blab ID " + String.valueOf(i));
+					logger.info("Adding a comment from " + username + " on blab ID " + String.valueOf(StringEscapeUtils.escapeJava(i)));
+					logger.info("Adding another comment from " + username + " on blab ID " + String.valueOf(StringEscapeUtils.escapeJava(i)));
 					commentsStatement.setInt(1, i);
 					commentsStatement.setString(2, username);
 					commentsStatement.setString(3, comment);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant