Bundled exiv2 DLL statically links zlib 1.2.11 (January 2017)
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 45/100
Hướng nghiên cứu
Bắt đầu trong QuickLook.Plugin/QuickLook.Plugin.ImageViewer/, đặc biệt là MetaProvider.cs và .csproj của plugin, để truy vết exiv2-ql-64.dll và exiv2-ql-32.dll đã được commit. Kiểm tra các DLL bằng lệnh strings được cung cấp và xác định cách có thể build lại chúng; công việc được xem là hoàn tất khi các binary đi kèm sử dụng zlib hiện tại và các phiên bản liên quan của chúng cũng như khả năng tiếp cận CVE được ghi lại.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Hello — and first, some history I should own rather than skip past.
I raised #1972 here previously and I was wrong: I suggested SHA-pinning an action reference that was a deliberately maintained release branch. So I'd understand a degree of scepticism. I've tried to be more careful this time, and I've written down explicitly what I did not establish.
What I observed
QuickLook.Plugin/QuickLook.Plugin.ImageViewer/ commits prebuilt exiv2 binaries — exiv2-ql-64.dll (2.4 MB) and exiv2-ql-32.dll (2.1 MB) — referenced from MetaProvider.cs and the plugin's .csproj.
Those DLLs statically link zlib, and zlib writes its own version banner into the binary:
$ strings exiv2-ql-64.dll | grep -iE 'inflate|deflate'
deflate 1.2.11 Copyright 1995-2017 Jean-loup Gailly and Mark Adler
inflate 1.2.11 Copyright 1995-2017 Mark Adler
zlib 1.2.11 is from January 2017. Current is 1.3.1.
The advisories in that range
| CVE | CVSS | |
|---|---|---|
| CVE-2022-37434 | 9.8 CRITICAL | heap-based buffer over-read/overflow in inflate via a large gzip header extra field. Fixed in 1.2.13 |
| CVE-2018-25032 | 7.5 HIGH | memory corruption when deflating if the input has many distant matches. Fixed in 1.2.12 |
What I did NOT establish — and it matters for both
Neither CVE is shown to be reachable here, and I'm not claiming either is exploitable.
- CVE-2022-37434 — NVD notes it applies only to applications that call
inflateGetHeader. I did not determine whether exiv2 ever calls that. If it doesn't, this one simply doesn't apply. - CVE-2018-25032 — that's the deflate (compression) path. QuickLook previews images, which is mostly a read path; whether exiv2 compresses during metadata handling I did not establish.
What I think is fair to say: a nine-year-old zlib ships inside a plugin whose job is parsing untrusted image files, and nothing in the project's tooling can see it.
Why it's invisible
zlib here is statically linked inside another prebuilt binary. There's no manifest entry for exiv2, let alone for the zlib within it. Dependabot has nothing to read, no source scanner parses a PE binary, and the version is only recoverable by running strings and recognising zlib's copyright banner.
I also could not determine exiv2's own version — the binary exposes zlib's banner but no clean exiv2 version string — so I can't tell you how old the exiv2 itself is.
Suggestion
Rebuilding the bundled exiv2 against a current zlib (1.3.1) would close it. That's regenerating a binary rather than editing a manifest, which is precisely why it went unnoticed — no criticism intended.
Disclosure: AI-assisted (Claude Opus 5). I read the version banner out of the committed DLL, confirmed the plugin references, and fetched both CVEs from NVD myself before posting.
- Ngôn ngữ chính
- C#
- Star
- 25.5k
- Fork
- 1.4k
- Merge trung bình
- 14 giờ 38 phút
- Pull request đã merge (30 ngày)
- 1
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của QL-Win/QuickLook
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 60/100
-
[Bug] If the first character entered into the search box is a space, the preview window will close.Có thể đã có người làm @MORTEM3845 đã nhận 3 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
-
[Bug] MSI installer does not display the correct application icon in Windows Programs and FeaturesCó thể đã có người làm @MORTEM3845 đã nhận 3 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
VideoViewer: rotated (portrait phone) videos shown sideways when system decimal separator is a commaCó thể đã có người làm @MORTEM3845 đã nhận 3 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
Tất cả issue của QL-Win/QuickLook
Issue tương tự
-
good first issue help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
untriaged
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
dotnet/dotnet-api-docs#13210 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
aspnet-core/svc doc-enhancement mvc/subsvc Pri2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
dotnet/AspNetCore.Docs#38016 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
HicServices/RDMP#2398 ·
-
[Android] Memory leak in MAUI Graphics text drawing and measurement during repeated renderingĐang mởarea-drawing platform/android t/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
dotnet/maui#39676 · 1 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày