signalapp / signalapp/Signal-Android
Image thumbnail of video leaks potentially sensitive data
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 29.4k
- Forks
- 6.9k
- PR merge metrics
- No merged PRs in 30d
Description
Bug description
When a user creates a video, they can trim it before sending it to one of their contacts. Sadly, the thumbnail is generated before the image is cropped, thus it can contain information that the user intentionally omitted.
Steps to reproduce
- Create a video, preferably with moving objects
- Crop the video
- See how the thumbnail contains information, not available in the cropped version
Screenshots
This is the image that the user sees
Screenshot_20230419-153734_Signal
And these are the two video's that the user sent
- https://user-images.githubusercontent.com/33983090/233094877-b0a7b20e-028f-4d2c-84da-66bc03980358.mp4
- https://user-images.githubusercontent.com/33983090/233096337-be157948-ea4f-43a4-958d-f6fea1249924.mp4
Note how one video is cropped and one isn't, while the thumbnail is all the same.
Device info
Device: One Plus 7 Pro
Android version: Lineage OS 20
Signal version: 6.17.3
Link to debug log
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue with a video that is cropped before sending, using the reproduction steps and linked media as reference. Trace the video-cropping and thumbnail-generation entry points, then verify that the thumbnail reflects only the cropped video and does not reveal omitted content.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- mobile, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100