You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* ESAPI release notes
* Prep for 2.2.0.0-RC3 releases. Update to 5.0.0 of Dependency Check.
* Updates to prepare for 2.2.0.0 release.
* Updates to prepare for 2.2.0.0 release.
* Change 'import org.apache.commons.beanutils.*' to 'import org.apache.commons.beanutils.LazyDynaMap'.
* Fix lead-in documentation and add static setCache(boolean) method to allow disabling class and method cache.
Also, reduced initial size of case. No way we would ever need it that big.
* Add testObjectFactoryCache() test. Fixed testMakeCipher() test so we could actually tell if it failed.
* Removed empty initial comment line.
* Added larger-than-life warning that this is a TEST VERSION and not to use it.
Copy file name to clipboardExpand all lines: documentation/esapi4java-core-2.2.0.0-release-notes.txt
+44-7Lines changed: 44 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,7 @@ Executive Summary: Important Things to Note for this Release
16
16
* Known vulnerabilities still not addressed:
17
17
- There is this critical CVE in log4j 2.x before 2.8.2: CVE-2017-5645. It is a Java deserialization vulnerability that can lead to arbitrary remote code execution. Some private vulnerability databases claim that this same vulnerability is present in log4j 1.x even though the CVE itself does not claim that. However, examination of this CVE shows that the vulnerability is associated with implementations of TcpSocketServer and UdpSocketServer, which implement fully functional socket servers that can be used to listen on network connections and record log events sent to server from various client applications. For ESAPI to be vulnerable to that, first someone would have to have an implementation of wone of those servers running and secondly, they would have to change ESAPI's log4j.xml configuration file so that it uses log4j's SocketAppender rather than the default ConsoleAppender that ESAPI's default deployment uses. Thus even if this vulnerability were present in log4j 1.x, ESAPI's use of ConsoleAppender makes it a non-issue.
18
18
- There is a known and unpatched vulnerability in the SLF4J Extensions that some vulnerability scanners may pick up and associate with ESAPI's use of slf4j-api-1.7.25.jar. (Note that OWASP Dependency Check does NOT flag this vulnerability [CVE-2018-8088], but others may.) According to NVD, this vulnerability is associated with "org.slf4j.ext.EventData in the slf4j-ext module in QOS.CH SLF4J before 1.8.0-beta2". Fortunately, I have confirmed that this Java deserialization does not impact ESAPI. First off, the default configuration of ESAPI.properties does not use SLF4J, but even if an application should choose to use it, ESAPI does not include the slf4j-ext jar and it has been confirmed that the vulnerable class (org.slf4j.ext.EventData) is not included in the slf4j-api jar that ESAPI does. Unfortunately, this CVE is not patched in the latest SLF4J packages, so even if we were to update it to latest version (currently 1.80-beta2, as of 12/31/2018), any scanners that associate ESAPI with CVE-2018-8088 would still have this false positive. But the important thing to ESAPI users is to know that if this CVE is identified for ESAPI, that it is a false positive.
19
+
- There is a recently discovered issue (see https://app.snyk.io/vuln/SNYK-JAVA-COMMONSBEANUTILS-30077) that is related to CVE-2014-0114 that is a Java deserialization issue in Apache Commons BeanUtils 1.9.3 that can lead to remote command execution attacks. This had been fixed in 1.9.2, but apparently they missed a place where the fix was needed. A GitHub commit (https://github.com/apache/commons-beanutils/pull/7/commits/2780a77600e6428b730e3a5197b7c5baf1c4cca0) has been made to mster branch of the BeanUtils repo, but thus far, no official patch has been released. ESAPI only uses BeanUtils in its AccessController (specifically, DynaBeanACRParameter class), where it has a dependency on org.apache.commons.beanutils.LazyDynaMap. Based on the BeanUtils commit, the fix was in org.apache.commons.beanutils2.PropertyUtilsBean. Based on a cursory examination, the ESAPI team does not believe that this vulnerability reported by Snyk is exploitable given that manner that it is used within ESAPI, or if it is, it is not externally exploitable based on the default access control rules that are provided with ESAPI. However, the ESAPI team will be watching for an official patch to Apache Commons BeanUtils and we will release a patched version of ESAPI as patch point release once a patch is officially available in Maven Central.
19
20
- Otherwise, ESAPI 2.2.0.0 addresses all know CVEs except for CVE-2013-5960 (which I have fixed in a private BitBucket repo, but getting it to be backward compatible is proving to be more difficult than anticipated.) Besides, if you want to use encryption in Java, I'd highly recommend using Google Tink, which is much more fully featured than ESAPI. (Tink allows key rotation, storing keys in various cloud HSMs, etc.)
20
21
21
22
@@ -30,9 +31,9 @@ ESAPI 2.1.0.1 release:
30
31
31
32
ESAPI 2.2.0.0 release:
32
33
194 source files
33
-
4140 JUnit tests!!!!!
34
+
4145 JUnit tests!!!!!
34
35
35
-
That's 2593 NEW tests!!!
36
+
That's 2598 NEW tests since the 2.1.0.1 release!!!
36
37
37
38
GitHub Issues fixed in this release
38
39
[i.e., since 2.1.0.1 release on 2016-Feb-05]
@@ -85,6 +86,7 @@ Issue # GitHub Issue Title
85
86
301 encodeForHTMLAttribute escapes the forward slash
86
87
302 HTMLEntityCodec#decode incorrectly decodes upper-case accented letters as their lower-case counterparts
87
88
303 HTMLEntityCodec destroys 32-bit CJK (Chinese, Japanese and Korean) characters
89
+
304 encodeForCSS breaks color values
88
90
305 ClassCastException when using ESAPI logger
89
91
307 Issue with decodeFromURL method in the DefaultEncoder
90
92
308 AuthenticatedUser isCredentialsNonExpired() have todo comment, but default return false;
@@ -305,25 +309,58 @@ List of all PRs closed since 2.1.0.1 (2016-Feb-05) -
305
309
#472 by jeremiahjstacey was merged on Jan 21, 2019 -- Issue #31 MySQLCodec Updates
306
310
#475 by jeremiahjstacey was merged on Jan 27, 2019 -- Issue #188 resolution proof: Test updates
307
311
#477 by jeremiajjstacey was merged on Feb 02, 2019 -- $476 DefaultValidator.getValidInput uses canonicalize method argument
312
+
#487 by kwwall was merged on Apr 29, 2019 -- Master branch updates for ESAPI-2.2.0.0-RC2
313
+
#490 by hellyguo was closed on May 12, 2019 -- enhance: cache class and method to avoid reading each time
314
+
#491 by hellyguo was merged on May 27, 2019 -- enhance: improve the performance of ObjFactory
315
+
308
316
309
-
List of contributors of *merged* PRs, listed (rather naively) by # or merged PRs:
317
+
List of contributors of *merged* PRs, listed (rather naively) by # of merged PRs:
310
318
# merged PRs GitHub ID
311
319
-------------------------
312
320
19 xeno6696
313
321
10 jeremiahjstacey
314
-
8 kwwall
322
+
9 kwwall
315
323
2 artfullyContrived
316
324
2 augustd
317
325
2 JoelRabinovitch
318
326
1 drm2
327
+
1 hellyguo
319
328
1 jackycct
320
329
1 mickilous
321
330
1 NiklasMehner
322
331
1 simon0117
323
332
1 sunnypav
324
333
325
-
326
-
Thanks you all for your time and effort to ESAPI and making it a better project.
334
+
Developer Activity Report (Changes between release 2.1.0.1 and 2.2.0.0, i.e., between 2015-02-05 and 2019-06-09 <UPDATE>)
335
+
As created by 'mvn site', however this data was slighty edited to remove email ids replace them with GitHub ids when those were known, or with the developer name.
336
+
Sorted first by # of commits and then by developer id / name..
Thanks you all for your time and effort to ESAPI and making it a better project. And if I've missed any, my apologies; let me know and I will correct it.
0 commit comments