signalapp / signalapp/Signal-Android

Image thumbnail of video leaks potentially sensitive data

Open
#12,908 3 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

acknowledged
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

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

https://debuglogs.org/android/6.17.3/4d759a5aab1e1f954350feb5840837eeb34e2a09fc69699a36a8bf7f89399971

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.