Il Mer 13 Ago 2025, 19:56 Andor Molnar <an...@apache.org> ha scritto:
> I’ve created a PR to attempt to replace logback with slf4j-simple. We do > have some test code relying on logback’s appenders, but we might be able to > replace it with a basic output stream. > > https://github.com/apache/zookeeper/pull/2293 > > > ptal. > Overall I agree with the approach. I left a couple of questions about the impact on client users and server system admins I am +1 to release 3.10 and send 3.8 to EOL Thanks Enrico > > Andor > > > > > On Aug 12, 2025, at 15:58, Christopher <ctubb...@apache.org> wrote: > > > > I would NOT ship with reload4j in new releases. That exists only as a > > temporary workaround for the lack of patch support for log4j 1.2, > > until one is able to update to log4j2 or something else. ZK is already > > using something else (logback). Neither log4j 1.2 nor reload4j are > > appropriate for use with slf4j2. If a log4j implementation is desired, > > a log4j 2.x version should be used. Using reload4j would be a step in > > the wrong direction. > > > > However, since ZK uses slf4j-api in code, I would ship *only* with > > slf4j-simple as the trivial reference implementation, and let users > > determine their own runtime logging dependency and configuration, > > which can be trivially swapped in place of slf4j-simple. This is > > basically what I argued when logback was being considered to replace > > log4j/reload4j a few years ago, but others preferred logback. > > > > One thing to consider is that, if I remember correctly, logback is > > used as a test dependency for some build tests. It is easier to run > > those tests with logback than it is to do it with another runtime > > dependency. It is possible to have the tests run using logback, but > > still ship with slf4j-simple instead of logback, but it may take some > > careful attention to the Maven pom.xml files to ensure the desired > > result (let's call this the "split dependency" option). It is > > certainly easier to stay with logback ("single dependency option"), > > but just update it to a newer version, than to modify the Maven build > > to ship something different than what is used in testing, but both > > options are technically possible. > > > > > > On Fri, Aug 8, 2025 at 5:19 PM Andor Molnar <an...@apache.org> wrote: > >> > >> Yeah, I totally agree. > >> > >> The plan to go forward after getting 3.9.4 out of the door is to either > remove logback from branch-3.8 and replace it with something simpler like > slf4j-simple or reload4j since we ship the logback dependency as an > example. Though I’m not sure if slf4j-simple is an option for us, I have to > try it out in action. > >> > >> The other option is to announce EoL on branch-3.8 and encourage users > to upgrade to 3.9.4. At the same time we have to create a 3.10.0 release > off the main branch or maybe 4.0.0. I don't have a strong opinion here > either, but I’m pretty confident that we should drop Java 8 support in the > next “current” release. > >> > >> Andor > >> > >> > >> > >> > >>> On Aug 8, 2025, at 15:05, Christopher <ctubb...@apache.org> wrote: > >>> > >>> I don't think the upgrade to slf4j 2 is purely a semantic one. I think > >>> there are genuine incompatibilities, but probably not too many. For > >>> example, slf4j2 drops support for Java 7 (probably not a problem for > >>> ZK, since I think Java 8 is already a requirement), and it switches > >>> the binding mechanisms, so that if somebody was using a different > >>> sfl4j runtime other than logback, then it probably won't work anymore > >>> without additional changes on the user's part. > >>> > >>> I think the switch on 3.9 is probably okay, but users should be warned > >>> that their logging will probably break if they had used a different > >>> runtime binding for slf4j other than the logback version that ships > >>> with ZK. > >>> > >>> As for the differences between logback 1.2 and 1.3, I have no idea... > >>> it's probably fine, since ZK is mainly just using it via slf4j-api > >>> anyway, rather than using it directly, but I'd start getting concerned > >>> that 1.3 is also no longer being developed. ZK should probably get > >>> ahead of that on the master branch by requiring Java 11, and using > >>> logback 1.5 there, if it hasn't been done already. Or else this > >>> question of switching from logback 1.2 to 1.3 is going to come up > >>> again soon when there's a CVE found against 1.3 and you have to switch > >>> to 1.5 and Java 11.... certainly don't want to do that in a bugfix > >>> release from the ZK 3.9 branch. > >>> > >>> On Thu, Aug 7, 2025 at 9:41 AM Andor Molnar <an...@apache.org> wrote: > >>>> > >>>> Considering all of this I’ll upgrade logback + slf4j to 1.3/2.0 on > the 3.9 branch today and proceed with the release. 3.9 is the current > release line and I think this step is still acceptable at this stage. I > won’t do the same on the stable (3.8) branch and we should talk about > EoL’ing soon in a separate thread. > >>>> > >>>> Andor > >>>> > >>>> > >>>> > >>>> > >>>>> On Aug 6, 2025, at 19:56, Andor Molnar <an...@apache.org> wrote: > >>>>> > >>>>> "The 1.2.x series for logback-core and logback-classic has been > deprecated for several years and is no longer maintained. As such, use of > the 1.2.x series is discouraged.” > >>>>> > >>>>> "Logback version 1.3.15 is the latest in the 1.3.x series. It > requires SLF4J version 2.0.x and JDK 8. Please note that the 1.3.x series > is no loger actively developed.” > >>>>> > >>>>> "The current actively developed version of logback-core and > logback-classic is 1.5.18. It requires JDK 11 and SLF4J version 2.0.1 at > runtime.” > >>>>> > >>>>> Looks like our only option is 1.3.x, but once we drop JDK 8 support > (3.10.x maybe?), we’ll be able to upgrade to 1.5. > >>>>> > >>>>> > >>>>> > >>>>> > >>>>>> On Aug 6, 2025, at 19:52, Andor Molnar <an...@apache.org> wrote: > >>>>>> > >>>>>> I cannot upgrade logback without upgrading slf4j as well. Build > fails. > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>>> On Aug 6, 2025, at 17:07, Patrick Hunt <ph...@apache.org> wrote: > >>>>>>> > >>>>>>> Is slf4j really needed for security? > >>>>>>> > >>>>>>> Only cve I see here is from 2018... > >>>>>>> https://www.slf4j.org/news.html > >>>>>>> > >>>>>>> Should we revert the slf4j change in its entirety/all branches > until it can > >>>>>>> be made in a b/w compatible way? > >>>>>>> > >>>>>>> Patrick > >>>>>>> > >>>>>>> On Wed, Aug 6, 2025 at 2:59 PM Andor Molnar <an...@apache.org> > wrote: > >>>>>>> > >>>>>>>> Maybe the slf4j upgrade (1.7.30 -> 2.0.13) has higher impact, > because it’s > >>>>>>>> a major upgrade. Logback is just an example of how to do logging > with > >>>>>>>> ZooKeeper real life setups probably replace it with something > else like > >>>>>>>> log4j2. The logging facade (slf4j) could have bw incompatible > changes that > >>>>>>>> will force users to make changes related to logging on their > classpath. > >>>>>>>> > >>>>>>>> I’m speculating and haven’t checked slf4j for details. > >>>>>>>> > >>>>>>>> Andor > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>>> On Aug 6, 2025, at 16:46, Patrick Hunt <ph...@apache.org> wrote: > >>>>>>>>> > >>>>>>>>> Is the only problem the minor "semantic" upgrade of logback in a > fix > >>>>>>>>> release of zk? That should be stable (contract wise) on the > dependency, > >>>>>>>>> right? Or is there some real impact, eg b/w incompat change > visible to ZK > >>>>>>>>> users? If the former that seems fine, if the latter then we have > a harder > >>>>>>>>> problem to address. (security issue breaking b/w compat) > >>>>>>>>> > >>>>>>>>> Patrick > >>>>>>>>> > >>>>>>>>> On Wed, Aug 6, 2025 at 2:36 PM Andor Molnar <an...@apache.org> > wrote: > >>>>>>>>> > >>>>>>>>>> Sorry for the confusion, I picked 3.8 as an example, but > logback/slf4j > >>>>>>>>>> upgrades haven’t been backported to 3.9 either. Therefore I > created the > >>>>>>>>>> following backport PR: > >>>>>>>>>> > >>>>>>>>>> https://github.com/apache/zookeeper/pull/2290 > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>>> "Why would they be applied to master and not to any active > (release) > >>>>>>>>>> line? > >>>>>>>>>> > >>>>>>>>>> Since we’ve already released 3.9.3 with logback 1.2.13 and > don’t want > >>>>>>>>>> users to realize 1.2->1.3 logback upgrade in a 3.9.3->3.9.4 > ZooKeeper > >>>>>>>>>> upgrade process, although this upgrade is necessary anyways to > address > >>>>>>>> the > >>>>>>>>>> CVE in question. > >>>>>>>>>> > >>>>>>>>>> (in my understanding) > >>>>>>>>>> > >>>>>>>>>> Andor > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>>> On Aug 6, 2025, at 15:34, Patrick Hunt <ph...@apache.org> > wrote: > >>>>>>>>>>> > >>>>>>>>>>> I'm confused - this thread started with "OWASP reports CVEs on > the 3.8 > >>>>>>>>>>> branch and noticed in the PRs that we should only upgrade > logback on > >>>>>>>> the > >>>>>>>>>>> master branch" - I read that as "some fixes on 3.9 are not > backported > >>>>>>>> to > >>>>>>>>>>> 3.8". But you are saying that this is not fixed (still owasp > warnings) > >>>>>>>> on > >>>>>>>>>>> 3.9 which is separate from master? Why would they be applied > to master > >>>>>>>>>> and > >>>>>>>>>>> not to any active (release) line? What is the impact of the > changes on > >>>>>>>>>>> master and 3.9? iiuc there are backward incompatible changes > if applied > >>>>>>>>>> to > >>>>>>>>>>> 3.8? There should not be b/w incompatible changes applied to > any 3.x > >>>>>>>>>> (incl > >>>>>>>>>>> master, a future 3.x...) release. > >>>>>>>>>>> > >>>>>>>>>>> Patrick > >>>>>>>>>>> > >>>>>>>>>>> On Wed, Aug 6, 2025 at 1:16 PM Andor Molnar <an...@apache.org> > wrote: > >>>>>>>>>>> > >>>>>>>>>>>> Yeah, that would remove the burden of maintaining the 3.8 > version > >>>>>>>> line, > >>>>>>>>>>>> but 3.9.x versions still don’t have logback and slf4j > upgraded, still > >>>>>>>>>>>> flagged by the Owasp build and users will probably still > complain > >>>>>>>> about > >>>>>>>>>>>> CVEs. > >>>>>>>>>>>> > >>>>>>>>>>>> My question is what should we do on branches other than the > master? > >>>>>>>>>>>> > >>>>>>>>>>>> 1. Backport logback and slf4j upgrades from master, or > >>>>>>>>>>>> 2. Add Owasp suppression rule to skip checking these libraries > >>>>>>>>>> completely. > >>>>>>>>>>>> > >>>>>>>>>>>> I need to answer this question before going forward with the > 3.9.4 > >>>>>>>>>> release. > >>>>>>>>>>>> > >>>>>>>>>>>> Regards, > >>>>>>>>>>>> Andor > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>>> On Aug 6, 2025, at 13:39, Christopher <ctubb...@apache.org> > wrote: > >>>>>>>>>>>>> > >>>>>>>>>>>>> +1 to that idea. > >>>>>>>>>>>>> > >>>>>>>>>>>>> The releases page[1] says "Apache ZooKeeper 3.9.3 is our > current > >>>>>>>>>>>>> release, and 3.8.4 our latest stable release". Is 3.9 > sufficiently > >>>>>>>>>>>>> stable to replace 3.8 as the current "stable"? If the answer > is yes, > >>>>>>>>>>>>> then I think it makes sense to EOL 3.8. > >>>>>>>>>>>>> > >>>>>>>>>>>>> [1]: https://zookeeper.apache.org/releases.html#download > >>>>>>>>>>>>> > >>>>>>>>>>>>> On Mon, Aug 4, 2025 at 2:52 PM Patrick Hunt < > ph...@apache.org> > >>>>>>>> wrote: > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> Should we sunset that minor release due to the "unfixable" > security > >>>>>>>>>>>> issue > >>>>>>>>>>>>>> and EOL of dependenc(ies)? > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> Patrick > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> On Mon, Aug 4, 2025 at 10:03 AM Andor Molnar < > an...@apache.org> > >>>>>>>>>> wrote: > >>>>>>>>>>>>>> > >>>>>>>>>>>>>>> Yeah, I agree with that, but we can’t leave things here > just like > >>>>>>>>>> that. > >>>>>>>>>>>>>>> Either we should keep updating the logging libraries on > all active > >>>>>>>>>>>> branches > >>>>>>>>>>>>>>> or add the necessary suppression to Owasp. Otherwise the > report > >>>>>>>>>> result > >>>>>>>>>>>> will > >>>>>>>>>>>>>>> be completely meaningless. > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> Andor > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> On Aug 4, 2025, at 08:21, Christopher < > ctubb...@apache.org> > >>>>>>>> wrote: > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> Yes, that is basically my concern. I commented at > >>>>>>>>>>>>>>>> > >>>>>>>>>> > https://github.com/apache/zookeeper/pull/2290#issuecomment-3145955665 > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> On Fri, Aug 1, 2025, 18:43 Andor Molnar <an...@apache.org> > wrote: > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> Christopher raised concern about it in > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > https://github.com/apache/zookeeper/pull/2162#pullrequestreview-2037135095 > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> I suspect because SLF4j has to be major upgraded with > logback 1.x > >>>>>>>>>> -> > >>>>>>>>>>>> 2.x > >>>>>>>>>>>>>>>>> which should not be done in bugfix releases. > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> I’m not sure. Maybe we should just add another Owasp > suppression, > >>>>>>>>>> but > >>>>>>>>>>>>>>> that > >>>>>>>>>>>>>>>>> wouldn’t be appropriate either. > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> Andor > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> On Jul 30, 2025, at 18:39, Andor Molnar < > an...@apache.org> > >>>>>>>> wrote: > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> That’s my understanding too, but looks like folks > skipped even > >>>>>>>> the > >>>>>>>>>>>> 3.9 > >>>>>>>>>>>>>>>>> backport in the case of logback. > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> Andor > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> On Jul 30, 2025, at 16:36, Patrick Hunt < > ph...@apache.org> > >>>>>>>>>> wrote: > >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> My understanding, I thought the rule was to backport > any patch > >>>>>>>> to > >>>>>>>>>>>> all > >>>>>>>>>>>>>>> of > >>>>>>>>>>>>>>>>>>> the active releases unless it's a new feature. Perhaps > ask the > >>>>>>>>>>>> folks > >>>>>>>>>>>>>>> who > >>>>>>>>>>>>>>>>>>> committed? > >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> Patrick > >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> On Wed, Jul 30, 2025 at 2:06 PM Andor Molnar < > an...@apache.org > >>>>>>>>> > >>>>>>>>>>>>>>> wrote: > >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> Hi folks, > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> Currently I’m working on some backports, because > OWASP reports > >>>>>>>>>>>> CVEs > >>>>>>>>>>>>>>> on > >>>>>>>>>>>>>>>>> the > >>>>>>>>>>>>>>>>>>>> 3.8 branch and noticed in the PRs that we should only > upgrade > >>>>>>>>>>>> logback > >>>>>>>>>>>>>>>>> on > >>>>>>>>>>>>>>>>>>>> the master branch. Why is that? > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> logback-core-1.2.13.jar > >>>>>>>>>>>> (pkg:maven/ch.qos.logback/logback-core@1.2.13 > >>>>>>>>>>>>>>> , > >>>>>>>>>>>>>>>>>>>> cpe:2.3:a:qos:logback:1.2.13:*:*:*:*:*:*:*) : > CVE-2024-12798, > >>>>>>>>>>>>>>>>> CVE-2024-12801 > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> Regards, > >>>>>>>>>>>>>>>>>>>> Andor > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>> > >>>>> > >>>> > >> > >