Rick,

Thank you for such a prompt and thoughtful reply. It is unfortunate about 
nobody managing those “older” releases, because “older” does not mean unused, 
and I’d bet that there are more Derby deployments on older JREs than on 21. 
Also, my immediate question was about that particular CVE, but was also generic 
in the case of any future security vulnerabilities.

Thankfully, our product doesn’t actually use LDAP authentication, so we are not 
vulnerable to that particular CVE, which is why I waited a year before 
inquiring about the lack of the older branch releases. However, having high- or 
critical-level vulnerabilities in any of the OSS  jars we deploy raises urgent 
red flags to some of our bigger customers who run Black Duck (or other) 
scanners against their servers themselves. Of course for this CVE, we explain 
that we’re not vulnerable, but that message isn’t always easily accepted or is 
forgotten and we get asked again periodically down the road, and therefore our 
preference is to upgrade OSS components with vulnerabilities to fixed versions 
whether or not our product is susceptible.

The problem with us building and deploying the 10.15 (or 10.14) as you 
mentioned is that since it’s not a public release out on Maven Central, 
security scanners won’t find an exact signature match of the jar (would likely 
show the previous release “with modifications”) and historically that has meant 
that the vulnerability is still reported since the scanner doesn’t know that it 
has been resolved.

As far as java 21 goes, that’s not even on our roadmap. Getting to Java 17 is a 
goal, but a difficult / time-consuming goal that has no target date. The 
problem is the major changes and removals between 11 and 17, especially as it 
relates to reflection and having to ditch XStream. Our newer products are on 
Java 17 (one might be on 21), but this particular product is large & complex 
and has existed for well over a decade. Just getting from Java 8 to 11 was a 
big undertaking, and 11 to 17 has much bigger obstacles, with bigger 
destabilization risks.

Is “manage releases on those older code branches” difficult? I’ve not 
personally done any work in the open-source community, but I wouldn’t mind 
getting my feet wet, especially if it’s in an area without time pressure (I do 
have a “day job” after all 😉).

Best regards,
Frank


From: Rick Hillegas <rick.hille...@gmail.com>
Sent: Monday, December 9, 2024 1:20 PM
To: derby-dev@db.apache.org; Frank Domina <frank.dom...@nice.com>
Subject: Re: Release Process w/ CVE fixes

No committer has volunteered to manage releases on those older code branches. 
For your Java11-based product, you will need to build jars from the head of the 
10.15 branch.

Instructions for downloading the head of the 10.15 branch can be found here: 
https://cwiki.apache.org/confluence/display/DERBY/ForNewDevelopers#ForNewDevelopers-CheckOut,BuildtheCodeandruntheTests
 The actual subversion command you need is

  svn co 
https://svn.apache.org/repos/asf/db/derby/code/<https://svn.apache.org/repos/asf/db/derby/code/trunk>branches/10.15
 derby

Instructions for building the head of the 10.15 branch can be found here: 
https://svn.apache.org/repos/asf/db/derby/code/branches/10.15/BUILDING.html

The CVE in question affects applications which use Derby's LDAP-based 
authentication mechanism. We don't get a lot of feedback about which 
authentication mechanisms are used in production. Does your application rely on 
Derby's LDAP-based authentication? If not, you could insulate your application 
from this CVE by placing your application under Derby's NATIVE authentication 
mechanism. See the topic called "Configuring NATIVE authentication" in the 
10.15 security guide: https://db.apache.org/derby/docs/10.15/security/index.html

Hope this helps,
-Rick

On 12/9/24 8:06 AM, Frank Domina wrote:

Hello. I'm new to the group, so I hope this is the appropriate place to ask 
this.



Over a year ago, v10.17.1.0 was released, which contained a fix for an LDAP 
injection vulnerability (CVE-2022-46337 / BDSA-2022-4287). The Jira ticket is 
DERBY-7147<https://issues.apache.org/jira/browse/DERBY-7147><https://issues.apache.org/jira/browse/DERBY-7147>,
 which indicates that the fix also went in v10.14.3, v10.15.2.1, and 
v10.16.1.2. A cursory look at the code seems to confirm this. However, it has 
been well over a year since the fix was made, yet the only version that was 
ever released was v10.17.1.0.



This effectively has stranded anyone not running Java 21 or later, and there is 
a lot of software out there that is still using Java 17, 11 and even 8, with 
those JREs being supported for another 6-8 years. In fact, Java 11's support 
extends a year beyond 21's, per 
https://www.azul.com/products/azul-support-roadmap/. We have a product that, 
for multiple externally-controlled reasons, is stuck at Java 11 for the 
foreseeable future, and an older one that EOL's 12/2025 that is still using 
Java 8. I can't imagine we're alone in either of those boats.



What does it take to get Derby v10.14.3, v10.15.2.1, and v10.16.1.2 (containing 
that CVE fix) publicly released?



Best regards,

Frank Domina






Reply via email to