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
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>
>
>

Reply via email to