CVE-2020-12415
Medium · 6.5CVSS
6.5
EPSS
1.3%
Published
Jul 9, 2020
CISA due date
—
Cloudanix analysis
A browser caching issue could let attackers make the wrong stored files get used for a website, which might change what users see or download.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Data Tampering
- Component
- Application
- Class
- Path Traversal
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
When "%2F" was present in a manifest URL, Firefox's AppCache behavior may have become confused and allowed a manifest to be served from a subdirectory. This could cause the appcache to be used to service requests for the top level directory.
Why it matters to the business
Attackers could manipulate cached content delivery for web applications, potentially leading to integrity issues in served resources without requiring user privileges beyond visiting a crafted page.
How an attack unfolds
An attacker prepares a malicious manifest URL containing encoded path traversal characters like %2F, tricks a user into visiting a page that references it, and leverages the resulting AppCache misbehavior to have the browser serve attacker-controlled content for top-level directory requests.
How to fix it
Upgrade affected Firefox installations to version 78 or later. For listed openexr packages apply the referenced fixes such as 2.5.4-1 on Debian releases or the listed GIT commits including 7bab6d44caf65ee3cabe31553f8e2968c8747be5 and 1899a456cbafb213c4a53c35eb3203296f92e503.
How to confirm the fix worked
Confirm Firefox version is at least 78; verify openexr packages match the fixed versions or commits provided for each distribution and repository.
Typical attack path
- Craft a web page or manifest URL embedding %2F sequences targeting AppCache handling
- Lure a victim browser into loading the manifest via social engineering or compromised site
- Trigger AppCache confusion to serve manifest content for unintended top-level paths
- Abuse the mis-served cache to deliver altered resources or interfere with application behavior
How to detect it
Review web server and browser logs for manifest requests containing %2F sequences; examine AppCache storage artifacts and network traces for unexpected subdirectory manifest sourcing on top-level paths.
What your security team should do
- Prioritize patching Firefox to 78+ across all endpoints due to the published date and persistent EPSS score
- Audit web applications relying on AppCache for any manifest URL handling that could be influenced by encoded slashes
- Monitor for browser updates and test AppCache-dependent sites post-upgrade
- Apply the exact openexr fixed versions listed for Debian 11/12/13 and GIT repositories
The record
When "%2F" was present in a manifest URL, Firefox's AppCache behavior may have become confused and allowed a manifest to be served from a subdirectory. This could cause the appcache to be used to service requests for the top level directory. This vulnerability affects Firefox < 78.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Mageia:7 | thunderbird | 0 | 78.3.1-3.mga7 |
| Mageia:7 | thunderbird-l10n | 0 | 78.3.1-1.mga7 |
| SUSE:Enterprise Storage 5 | MozillaFirefox | 0 | 78.0.1-112.3.1 |
| SUSE:Enterprise Storage 5 | MozillaFirefox-branding-SLE | 0 | 78-35.3.1 |
| SUSE:HPE Helion OpenStack 8 | MozillaFirefox | 0 | 78.0.1-112.3.1 |
| SUSE:HPE Helion OpenStack 8 | MozillaFirefox-branding-SLE | 0 | 78-35.3.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP1 | MozillaFirefox | 0 | 78.0.1-3.94.2 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP1 | MozillaFirefox-branding-SLE | 0 | 78-4.14.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP2 | MozillaFirefox | 0 | 78.0.1-3.94.2 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP2 | MozillaFirefox-branding-SLE | 0 | 78-4.14.1 |
| SUSE:Linux Enterprise Server 11 SP4-LTSS | MozillaFirefox | 0 | 78.0.1-78.80.2 |
| SUSE:Linux Enterprise Server 11 SP4-LTSS | MozillaFirefox-branding-SLED | 0 | 78-21.12.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | MozillaFirefox | 0 | 78.0.1-112.3.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | MozillaFirefox-branding-SLE | 0 | 78-35.3.1 |
| SUSE:Linux Enterprise Server 12 SP2-LTSS | MozillaFirefox | 0 | 78.0.1-112.3.1 |
| SUSE:Linux Enterprise Server 12 SP2-LTSS | MozillaFirefox-branding-SLE | 0 | 78-35.3.1 |
| SUSE:Linux Enterprise Server 12 SP3-BCL | MozillaFirefox | 0 | 78.0.1-112.3.1 |
| SUSE:Linux Enterprise Server 12 SP3-BCL | MozillaFirefox-branding-SLE | 0 | 78-35.3.1 |
| SUSE:Linux Enterprise Server 12 SP3-LTSS | MozillaFirefox | 0 | 78.0.1-112.3.1 |
| SUSE:Linux Enterprise Server 12 SP3-LTSS | MozillaFirefox-branding-SLE | 0 | 78-35.3.1 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | MozillaFirefox | 0 | 78.0.1-112.3.1 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | MozillaFirefox-branding-SLE | 0 | 78-35.3.1 |
| SUSE:Linux Enterprise Server 12 SP5 | MozillaFirefox | 0 | 78.0.1-112.3.1 |
| SUSE:Linux Enterprise Server 12 SP5 | MozillaFirefox-branding-SLE | 0 | 78-35.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | MozillaFirefox | 0 | 78.0.1-112.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | MozillaFirefox-branding-SLE | 0 | 78-35.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | MozillaFirefox | 0 | 78.0.1-112.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | MozillaFirefox-branding-SLE | 0 | 78-35.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | MozillaFirefox | 0 | 78.0.1-112.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | MozillaFirefox-branding-SLE | 0 | 78-35.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | MozillaFirefox | 0 | 78.0.1-112.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | MozillaFirefox-branding-SLE | 0 | 78-35.3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | MozillaFirefox | 0 | 78.0.1-112.3.1 |
| SUSE:OpenStack Cloud 7 | MozillaFirefox | 0 | 78.0.1-112.3.1 |
| SUSE:OpenStack Cloud 7 | MozillaFirefox-branding-SLE | 0 | 78-35.3.1 |
| SUSE:OpenStack Cloud 8 | MozillaFirefox | 0 | 78.0.1-112.3.1 |
| SUSE:OpenStack Cloud 8 | MozillaFirefox-branding-SLE | 0 | 78-35.3.1 |
| SUSE:OpenStack Cloud 9 | MozillaFirefox | 0 | 78.0.1-112.3.1 |
| SUSE:OpenStack Cloud 9 | MozillaFirefox-branding-SLE | 0 | 78-35.3.1 |
| SUSE:OpenStack Cloud Crowbar 8 | MozillaFirefox | 0 | 78.0.1-112.3.1 |
| SUSE:OpenStack Cloud Crowbar 8 | MozillaFirefox-branding-SLE | 0 | 78-35.3.1 |
| SUSE:OpenStack Cloud Crowbar 9 | MozillaFirefox | 0 | 78.0.1-112.3.1 |
| SUSE:OpenStack Cloud Crowbar 9 | MozillaFirefox-branding-SLE | 0 | 78-35.3.1 |
| Ubuntu:16.04:LTS | firefox | 0 | 78.0.1+build1-0ubuntu0.16.04.1 |
| Ubuntu:18.04:LTS | firefox | 0 | 78.0.1+build1-0ubuntu0.18.04.1 |
| Ubuntu:18.04:LTS | mozjs38 | 0 | No fix |
| Ubuntu:18.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:18.04:LTS | thunderbird | 0 | 1:78.8.1+build1-0ubuntu0.18.04.1 |
| Ubuntu:20.04:LTS | firefox | 0 | 78.0.1+build1-0ubuntu0.20.04.1 |
| Ubuntu:20.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:20.04:LTS | mozjs68 | 0 | No fix |
| Ubuntu:20.04:LTS | thunderbird | 0 | 1:78.7.1+build1-0ubuntu0.20.04.1 |
| Ubuntu:Pro:18.04:LTS | mozjs38 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | mozjs68 | 0 | No fix |
| openSUSE:Leap 15.1 | MozillaFirefox | 0 | 78.0.1-lp151.2.53.1 |
| openSUSE:Leap 15.2 | MozillaFirefox | 0 | 78.0.1-lp152.2.5.1 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 92.0-1.2 |
| openSUSE:Tumbleweed | firefox-esr | 0 | 128.5.1-1.1 |
Related vulnerabilities
- CVE-2021-23994 A WebGL framebuffer was not initialized early enough, resulting in memory corruption and… Also affects thunderbird
- CVE-2021-23981 A texture upload of a Pixel Buffer Object could have confused the WebGL code to skip… Also affects thunderbird
- CVE-2021-23953 If a user clicked into a specifically crafted PDF, the PDF reader could be confused into… Also affects thunderbird
- CVE-2021-23961 Further techniques that built on the slipstream research combined with a malicious… Also affects thunderbird
- CVE-2021-23968 If Content Security Policy blocked frame navigation, the full destination of a redirect… Also affects thunderbird
- CVE-2020-16044 Use after free in WebRTC in Google Chrome prior to 88.0.4324.96 allowed a remote attacker… Also affects thunderbird
- CVE-2020-16042 Uninitialized Use in V8 in Google Chrome prior to 87.0.4280.88 allowed a remote attacker… Also affects thunderbird
- CVE-2020-16012 Side-channel information leakage in graphics in Google Chrome prior to 87.0.4280.66… Also affects thunderbird