Skip to content

Commit 93f677c

Browse files
Merge pull request #623 from rabbitmq/rabbitmq-java-client-622-for-4.x
Sanitise peer certificate values we log (cherry picked from commit af217ec)
1 parent c8dfec9 commit 93f677c

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/main/java/com/rabbitmq/client/impl/TlsUtils.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,8 @@ public static String peerCertificateInfo(Certificate certificate, String prefix)
104104
try {
105105
return String.format("%s subject: %s, subject alternative names: %s, " +
106106
"issuer: %s, not valid after: %s, X.509 usage extensions: %s",
107-
prefix, c.getSubjectDN().getName(), sans(c, ","), c.getIssuerDN().getName(),
108-
c.getNotAfter(), extensions(c));
107+
stripCRLF(prefix), stripCRLF(c.getSubjectDN().getName()), stripCRLF(sans(c, ",")), stripCRLF(c.getIssuerDN().getName()),
108+
c.getNotAfter(), stripCRLF(extensions(c)));
109109
} catch (Exception e) {
110110
return "Error while retrieving " + prefix + " certificate information";
111111
}
@@ -145,6 +145,14 @@ public static String extensionPrettyPrint(String oid, byte[] derOctetString, X50
145145
}
146146
}
147147

148+
/**
149+
* Strips carriage return (CR) and line feed (LF) characters to mitigate CWE-117.
150+
* @return sanitised string value
151+
*/
152+
public static String stripCRLF(String value) {
153+
return value.replaceAll("\r", "").replaceAll("\n", "");
154+
}
155+
148156
private static String extensions(X509Certificate certificate) {
149157
List<String> extensions = new ArrayList<>();
150158
for (String oid : certificate.getCriticalExtensionOIDs()) {

0 commit comments

Comments
 (0)