Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drop loci_tools uber JAR #3755

Closed
3 tasks done
sbesson opened this issue Dec 13, 2021 · 6 comments · Fixed by #3758
Closed
3 tasks done

Drop loci_tools uber JAR #3755

sbesson opened this issue Dec 13, 2021 · 6 comments · Fixed by #3758
Milestone

Comments

@sbesson
Copy link
Member

sbesson commented Dec 13, 2021

See ome/www.openmicroscopy.org#555

This uber-JAR has been deprecated for almost a decade (superseded by bioformats_package.jar) and was solely maintained for backwards-compatibility.

Following Log4Shell (CVE-2021-44228), a security advisory was opened against this bundle - see 2021-SV4. The current workaround is to use the logback-based bioformats_package bundle.

For the next release of Bio-Formats, the proposal is to completely get rid of this bundle and the log4j dependency:

@sbesson sbesson added this to the 6.9.0 milestone Dec 13, 2021
@imagesc-bot
Copy link

This issue has been mentioned on Image.sc Forum. There might be relevant details there:

https://forum.image.sc/t/cve-2021-44228-log4shell-assessment-for-omero-bio-formats/61032/1

@ctrueden
Copy link
Member

I looked for remaining references to loci_tools.jar. I fixed a couple of them (imagej/imagej.github.io@ad94a88, fiji/fiji@3428cdb, uw-loci/loci-scripts@bea4a2e). Here are the remaining ones I found but did not fix:

Vaa3D

https://github.com/Vaa3D/v3d_external

v3d_main/build.macx:#if [ -f bin/plugins/64bit/imageIO/load_image_using_Bioformats/loci_tools.jar ]; then
v3d_main/io/io_bioformats.cpp:    //look for loci_tools.jar
v3d_main/io/io_bioformats.cpp:        lociLibPath = getAppPath().append("/").append("loci_tools.jar");
v3d_main/io/io_bioformats.cpp:        lociLibPath = QFileDialog::getOpenFileName(0, QObject::tr("select the library of Bioformats Java library (loci_tools.jar)"),
v3d_main/io/io_bioformats.cpp:            v3d_msg("Cannot find loci_tools.jar, please download it and make sure it is put under the Vaa3D executable folder, parallel to the Vaa3D executable and the plugins folder.");

Orbit

https://github.com/mstritt/orbit-image-analysis

src/main/java/com/actelion/research/orbit/imageAnalysis/utils/ImageProcessorReader.java:// Decompiled from loci_tools.jar (http://www.loci.wisc.edu/bio-formats/downloads)
src/main/java/com/actelion/research/orbit/imageAnalysis/utils/ImageProcessorReader.java:/* Location:           D:\dev\Java\OrbitImageAnalysis\lib\loci_tools.jar

Microscopy Image Browser (MIB)

https://github.com/Ajaxels/MIB

ImportExportTools/BioFormats/bfopen3.m:%     to loci_tools.zip. If this happens, rename it back to loci_tools.jar.
ImportExportTools/BioFormats/selectLociSeries.m:%        (e.g., C:/Program Files/MATLAB/work/loci_tools.jar).
ImportExportTools/BioFormats/selectLociSeries.m:%     if ~isempty(strfind(javapath{i},'loci_tools.jar'))
ImportExportTools/BioFormats/selectLociSeries.m:%     javaaddpath(fullfile(fileparts(mfilename('fullpath')),'loci_tools.jar'));

python-bioformats

https://github.com/CellProfiler/python-bioformats

bioformats/formatreader.py:    # This uses the reader.txt file from inside the loci_tools.jar
bioformats/formatwriter.py:    # This uses the writers.txt file from inside the loci_tools.jar
bioformats/metadatatools.py:        # Post loci_tools 4.2
bioformats/metadatatools.py:        # Post loci_tools 4.2 - use ome.xml.model.DimensionOrder
docs/index.rst:The javabridge package must be used to start the JVM with loci_tools.jar
setup.cfg:classpath = bioformats/jars/loci_tools.jar

@jburel
Copy link
Member

jburel commented Dec 14, 2021

cc @mstritt

@joshmoore
Copy link
Member

@bethac07
Copy link

FWIW, it looks like since 2020 python-bioformats has been using bioformats_package.jar (so all versions of CellProfiler 4 should be good in that regard); it looks like other than setup.cfg (which apparently hasn't been touched in 8 years(!)), all of those are just comments which were not updated. I'll dig out those legacy comments.

CellProfiler/python-bioformats@ad5df31#diff-f6e62418513760b4fb33dfae61cee65ed1e975085ed1a30f9945b1b30e76872a

@joshmoore
Copy link
Member

Thanks, @bethac07! There now definitely seems to be an aversion to anything that matches git grep log4j regardless of the impact.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants