Firefox · Core
CVE-2025-4086
Logic Error in Core
Overview
Medium
Severity
—
CVSS
No
Exploited ITW
Fixed
Fix Status
Files Changed
mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngineSession.ktmobile/android/android-components/components/support/utils/src/main/java/mozilla/components/support/utils/DownloadUtils.kt
Patch
diff --git a/mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngineSession.kt b/mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngineSession.kt
index 35f45fbf8fa..6889c1f8acc 100644
--- a/mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngineSession.kt
+++ b/mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngineSession.kt
@@ -1264,7 +1264,7 @@ class GeckoEngineSession(
url = url,
contentLength = contentLength,
contentType = DownloadUtils.sanitizeMimeType(contentType),
- fileName = fileName.sanitizeFileName().decode(),
+ fileName = fileName.sanitizeFileName(),
response = response,
isPrivate = privateMode,
openInApp = webResponse.requestExternalApp,
diff --git a/mobile/android/android-components/components/support/utils/src/main/java/mozilla/components/support/utils/DownloadUtils.kt b/mobile/android/android-components/components/support/utils/src/main/java/mozilla/components/support/utils/DownloadUtils.kt
index 63dd9ca0e0b..a0441612e97 100644
--- a/mobile/android/android-components/components/support/utils/src/main/java/mozilla/components/support/utils/DownloadUtils.kt
+++ b/mobile/android/android-components/components/support/utils/src/main/java/mozilla/components/support/utils/DownloadUtils.kt
@@ -337,8 +337,9 @@ object DownloadUtils {
private fun parseContentDisposition(contentDisposition: String): String? {
return try {
- parseContentDispositionWithFileName(contentDisposition)
+ val fileName = parseContentDispositionWithFileName(contentDisposition)
?: parseContentDispositionWithFileNameAsterisk(contentDisposition)
+ Uri.decode(fileName)
} catch (ex: IllegalStateException) {
// This function is defined as returning null when it can't parse the header
null
Loading diff…
References
On This Page