Perform additional URI validation in ShareRepository.

Thanks to Shivasurya <s5sankar@uwaterloo.ca> for reporting this issue!
This commit is contained in:
Greyson Parrelli
2021-02-16 12:31:18 -05:00
committed by Cody Henthorne
parent ba14031945
commit d069d9331c
3 changed files with 93 additions and 0 deletions

View File

@@ -28,6 +28,7 @@ import org.thoughtcrime.securesms.mms.PartAuthority;
import org.thoughtcrime.securesms.providers.BlobProvider;
import org.thoughtcrime.securesms.util.MediaUtil;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.thoughtcrime.securesms.util.UriUtil;
import org.thoughtcrime.securesms.util.Util;
import org.whispersystems.libsignal.util.guava.Optional;
@@ -77,6 +78,10 @@ class ShareRepository {
return ShareData.forPrimitiveTypes();
}
if (!UriUtil.isValidExternalUri(context, uri)) {
throw new IOException("Invalid external URI!");
}
mimeType = getMimeType(context, uri, mimeType);
if (PartAuthority.isLocalUri(uri)) {