-
Notifications
You must be signed in to change notification settings - Fork 46
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
Add .webp support #614
Comments
(Just confirming that's still on an issue on 4.1/Bullseye) |
We can confirm this is still an issue on 4.1 - the viewer VM starts up then shuts down with no warning |
Unfortunately the library that would enable I'm curious what folks think about adding the backports repo for this, or maybe we want to mirror the package in our own repo? |
I double-checked and all the dependencies of webp-pixbuf-loader are in bullseye (and not also in backports), so mirroring the package will be straightforward, if that's what we go with. IMO -backports repos are the equivalent of testing, in that it's often changing, with only a 2-5 days advance warning. My preference is mirroring, just so we can test any updates ahead of time (and we can use the same apt-test automation we use for Tor packages). The downside of -backports packages (regardless of whether we mirror or not) is that there's no coverage by the Debian Security Team, it's up to the maintainer, with a 2-5 day delay. Though of course the use of Qubes mitigates some of the security issues, though I defer to others on actual analysis/weighting of that. My other naive suggestion if we're unhappy with backports would be to use something like imagemagick to convert to jpg/png/etc. on the fly and then pass that over to eog. Unsure if that kind of conversion is too much for journalists who want to see the original file. |
@L3th3 @lsd-cat What's your take on using |
Just to add a bit of outside context, Eventually this would trickle down anyway, but I think that shows it's fairly battle-tested if we want to jump the gun and include it/mirror it. |
Took a look at the project, and it really doesn't seem battle-tested. As far as I can tell, the PR that @eaon linked seems to be the only type of security review its gotten, and it was just fuzzing (and the fixes proposed are a perfect showcase of why we should generally start favoring Rust over C/C++). As for its adoption into GNOME, looking over their issue & PR, security doesn't seem to have been a consideration at all. I really wouldn't be surprised if there weren't more bugs in the codebase, so recommending it in its current state would be a no from me |
From a quick survey, I haven't found any native Rust implementations for webp decoding that we could use. Everything seems to fall back on Other than a "no", from your point of view, what's an approach that would allow us to support |
(As I was cleaning up tabs I came across the post-fuzzing |
It's kindof basic, but in Debian adding webp support via the 🥁 |
So, to recap, if I understand correctly, there are two primary options under discussion:
I think implicit in this choice are a couple of questions:
If I understand correctly, we would have to solve separately for the printability of webp files. What do y'all think, particularly @L3th3 (and @lsd-cat if you have a chance to weigh in) from a security perspective? I'll post my personal take as a separate comment to distinguish it from the summary above. |
Personal take: Based on the comments above, it seems like installing |
CVE-2023-4863 in libwebp was actively exploited by NSO Group and required critical fixes in iOS, Firefox, Chrome, Tor Browser and more so it seems both important that we can provide this functionality in safe manner as well as treading carefully on which webp rendering implementation we pick. |
FYI, it looks like https://github.com/image-rs/image can decode webp images without the use of libwebp |
Now that we're on bookworm, |
I tested this and it all works fine on 1.0.0rc2. I tried a still webp image, and an animated webp image, both rendered just like how Firefox does. I will put it on the agenda for tomorrow's meeting just to make sure there are no unresolved security issues here, but as it stands, webp should be supported in the next SDW release. |
There were no security concerns. There was some concern that it didn't require us to edit any of our mime lists, and that stronger control would be ideal, but that doesn't block this. Some related tickets for follow-up: freedomofpress/securedrop-client#2007 (comment), #1139. I'll close this issue by adding a changelog entry. |
This was an indirect consequence of switching to bookworm, but let's explicitly flag it since it was a user-requested feature. Fixes #614.
We should add a
.webp
capable image viewer to thesd-viewer
template. Currently we can convert these files via ImageMagick, but they cannot be successfully opened from the SecureDrop Client.The text was updated successfully, but these errors were encountered: