Products by Facebook Sorted by Most Security Vulnerabilities since 2018
By the Year
In 2024 there have been 1 vulnerability in Facebook with an average score of 7.8 out of ten. Last year Facebook had 16 security vulnerabilities published. Right now, Facebook is on track to have less security vulnerabilities in 2024 than it did last year. Last year, the average CVE base score was greater by 0.70
Year | Vulnerabilities | Average Score |
---|---|---|
2024 | 1 | 7.80 |
2023 | 16 | 8.50 |
2022 | 8 | 8.69 |
2021 | 25 | 8.40 |
2020 | 10 | 8.05 |
2019 | 28 | 8.71 |
2018 | 9 | 8.00 |
It may take a day or so for new Facebook vulnerabilities to show up in the stats or in the list of recent security vulnerabilties. Additionally vulnerabilities may be tagged under a different product or component name.
Recent Facebook Security Vulnerabilities
Prior to v176, when opening a new project Meta Spark Studio would execute scripts defined inside of a package.json file included as part of
CVE-2024-23347
7.8 - High
- January 16, 2024
Prior to v176, when opening a new project Meta Spark Studio would execute scripts defined inside of a package.json file included as part of that project. Those scripts would have the ability to execute arbitrary code on the system as the application.
Katran could disclose non-initialized kernel memory as part of an IP header
CVE-2023-49062
7.5 - High
- November 28, 2023
Katran could disclose non-initialized kernel memory as part of an IP header. The issue was present for IPv4 encapsulation and ICMP (v4) Too Big packet generation. After a bpf_xdp_adjust_head call, Katran code didnt initialize the Identification field for the IPv4 header, resulting in writing content of kernel memory in that field of IP header. The issue affected all Katran versions prior to commit 6a03106ac1eab39d0303662963589ecb2374c97f
Improper Initialization
The React Developer Tools extension registers a message listener with window.addEventListener('message', <listener>) in a content script
CVE-2023-5654
6.5 - Medium
- October 19, 2023
The React Developer Tools extension registers a message listener with window.addEventListener('message', <listener>) in a content script that is accessible to any webpage that is active in the browser. Within the listener is code that requests a URL derived from the received message via fetch(). The URL is not validated or sanitised before it is fetched, thus allowing a malicious web page to arbitrarily fetch URLs via the victim's browser.
The HTTP/2 protocol
CVE-2023-44487
7.5 - High
- October 10, 2023
The HTTP/2 protocol allows a denial of service (server resource consumption) because request cancellation can reset many streams quickly, as exploited in the wild in August through October 2023.
Resource Exhaustion
A lack of input validation exists in tac_plus prior to commit 4fdf178 which, when pre or post auth commands are enabled
CVE-2023-45239
9.8 - Critical
- October 06, 2023
A lack of input validation exists in tac_plus prior to commit 4fdf178 which, when pre or post auth commands are enabled, allows an attacker who can control the username, rem-addr, or NAC address sent to tac_plus to inject shell commands and gain remote code execution on the tac_plus server.
A null pointer dereference bug in Hermes prior to commit 5cae9f72975cf0e5a62b27fdd8b01f103e198708 could have been used by an attacker to crash an Hermes runtime where the EnableHermesInternal config option was set to true
CVE-2023-24832
7.5 - High
- May 18, 2023
A null pointer dereference bug in Hermes prior to commit 5cae9f72975cf0e5a62b27fdd8b01f103e198708 could have been used by an attacker to crash an Hermes runtime where the EnableHermesInternal config option was set to true. Note that this is only exploitable in cases where Hermes is used to execute untrusted JavaScript. Hence, most React Native applications are not affected.
NULL Pointer Dereference
A use-after-free related to unsound inference in the bytecode generation when optimizations are enabled for Hermes prior to commit da8990f737ebb9d9810633502f65ed462b819c09 could have been used by an attacker to achieve remote code execution
CVE-2023-30470
9.8 - Critical
- May 18, 2023
A use-after-free related to unsound inference in the bytecode generation when optimizations are enabled for Hermes prior to commit da8990f737ebb9d9810633502f65ed462b819c09 could have been used by an attacker to achieve remote code execution. Note that this is only exploitable in cases where Hermes is used to execute untrusted JavaScript. Hence, most React Native applications are not affected.
Dangling pointer
netconsd prior to v0.2 was vulnerable to an integer overflow in its parse_packet function
CVE-2023-28753
9.8 - Critical
- May 18, 2023
netconsd prior to v0.2 was vulnerable to an integer overflow in its parse_packet function. A malicious individual could leverage this overflow to create heap memory corruption with attacker controlled data.
Memory Corruption
A bytecode optimization bug in Hermes prior to commit e6ed9c1a4b02dc219de1648f44cd808a56171b81 could be used to cause an use-after-free and obtain arbitrary code execution
CVE-2023-28081
9.8 - Critical
- May 18, 2023
A bytecode optimization bug in Hermes prior to commit e6ed9c1a4b02dc219de1648f44cd808a56171b81 could be used to cause an use-after-free and obtain arbitrary code execution via a carefully crafted payload. Note that this is only exploitable in cases where Hermes is used to execute untrusted JavaScript. Hence, most React Native applications are not affected.
Dangling pointer
A type confusion bug in TypedArray prior to commit e6ed9c1a4b02dc219de1648f44cd808a56171b81 could have been used by a malicious attacker to execute arbitrary code
CVE-2023-25933
9.8 - Critical
- May 18, 2023
A type confusion bug in TypedArray prior to commit e6ed9c1a4b02dc219de1648f44cd808a56171b81 could have been used by a malicious attacker to execute arbitrary code via untrusted JavaScript. Note that this is only exploitable in cases where Hermes is used to execute untrusted JavaScript. Hence, most React Native applications are not affected.
Object Type Confusion
An error in Hermes' algorithm for copying objects properties prior to commit a00d237346894c6067a594983be6634f4168c9ad could be used by a malicious attacker to execute arbitrary code
CVE-2023-23557
9.8 - Critical
- May 18, 2023
An error in Hermes' algorithm for copying objects properties prior to commit a00d237346894c6067a594983be6634f4168c9ad could be used by a malicious attacker to execute arbitrary code via type confusion. Note that this is only exploitable in cases where Hermes is used to execute untrusted JavaScript. Hence, most React Native applications are not affected.
Object Type Confusion
A use-after-free in BigIntPrimitive addition in Hermes prior to commit a6dcafe6ded8e61658b40f5699878cd19a481f80 could have been used by an attacker to leak raw data
CVE-2023-24833
7.5 - High
- May 18, 2023
A use-after-free in BigIntPrimitive addition in Hermes prior to commit a6dcafe6ded8e61658b40f5699878cd19a481f80 could have been used by an attacker to leak raw data from Hermes VMs heap. Note that this is only exploitable in cases where Hermes is used to execute untrusted JavaScript. Hence, most React Native applications are not affected.
Dangling pointer
An error in BigInt conversion to Number in Hermes prior to commit a6dcafe6ded8e61658b40f5699878cd19a481f80 could have been used by a malicious attacker to execute arbitrary code due to an out-of-bound write
CVE-2023-23556
9.8 - Critical
- May 18, 2023
An error in BigInt conversion to Number in Hermes prior to commit a6dcafe6ded8e61658b40f5699878cd19a481f80 could have been used by a malicious attacker to execute arbitrary code due to an out-of-bound write. Note that this bug is only exploitable in cases where Hermes is used to execute untrusted JavaScript. Hence, most React Native applications are not affected.
Memory Corruption
There is a vulnerability in the fizz library prior to v2023.01.30.00 where a CHECK failure can be triggered remotely
CVE-2023-23759
7.5 - High
- May 18, 2023
There is a vulnerability in the fizz library prior to v2023.01.30.00 where a CHECK failure can be triggered remotely. This behavior requires the client supported cipher advertisement changing between the original ClientHello and the second ClientHello, crashing the process (impact is limited to denial of service).
assertion failure
HHVM 4.172.0 and all prior versions use TLS 1.0 for secure connections when handling tls:// URLs in the stream extension
CVE-2022-36937
9.8 - Critical
- May 10, 2023
HHVM 4.172.0 and all prior versions use TLS 1.0 for secure connections when handling tls:// URLs in the stream extension. TLS1.0 has numerous published vulnerabilities and is deprecated. HHVM 4.153.4, 4.168.2, 4.169.2, 4.170.2, 4.171.1, 4.172.1, 4.173.0 replaces TLS1.0 with TLS1.3. Applications that call stream_socket_server or stream_socket_client functions with a URL starting with tls:// are affected.
Anchor tag hrefs in Lexical prior to v0.10.0 would render javascript: URLs
CVE-2023-30792
6.1 - Medium
- April 29, 2023
Anchor tag hrefs in Lexical prior to v0.10.0 would render javascript: URLs, allowing for cross-site scripting on link clicks in cases where input was being parsed from untrusted sources.
XSS
A vulnerability was found in zstd v1.4.10, where an attacker
CVE-2022-4899
7.5 - High
- March 31, 2023
A vulnerability was found in zstd v1.4.10, where an attacker can supply empty string as an argument to the command line tool to cause buffer overrun.
Resource Exhaustion
DexLoader function get_stringidx_fromdex() in Redex prior to commit 3b44c64 can load an out of bound address when loading the string index table, potentially
CVE-2022-36938
9.8 - Critical
- November 11, 2022
DexLoader function get_stringidx_fromdex() in Redex prior to commit 3b44c64 can load an out of bound address when loading the string index table, potentially allowing remote code execution during processing of a 3rd party Android APK file.
Improper Validation of Specified Quantity in Input
A write-what-where condition in hermes caused by an integer overflow, prior to commit 5b6255ae049fa4641791e47fad994e8e8c4da374
CVE-2022-35289
9.8 - Critical
- October 11, 2022
A write-what-where condition in hermes caused by an integer overflow, prior to commit 5b6255ae049fa4641791e47fad994e8e8c4da374 allows attackers to potentially execute arbitrary code via crafted JavaScript. Note that this is only exploitable if the application using Hermes permits evaluation of untrusted JavaScript. Hence, most React Native applications are not affected.
Integer Overflow or Wraparound
An integer conversion error in Hermes bytecode generation
CVE-2022-40138
9.8 - Critical
- October 11, 2022
An integer conversion error in Hermes bytecode generation, prior to commit 6aa825e480d48127b480b08d13adf70033237097, could have been used to perform Out-Of-Bounds operations and subsequently execute arbitrary code. Note that this is only exploitable in cases where Hermes is used to execute untrusted JavaScript. Hence, most React Native applications are not affected.
Incorrect Conversion between Numeric Types
An out of bounds write in hermes, while handling large arrays, prior to commit 06eaec767e376bfdb883d912cb15e987ddf2bda1
CVE-2022-32234
9.8 - Critical
- October 11, 2022
An out of bounds write in hermes, while handling large arrays, prior to commit 06eaec767e376bfdb883d912cb15e987ddf2bda1 allows attackers to potentially execute arbitrary code via crafted JavaScript. Note that this is only exploitable if the application using Hermes permits evaluation of untrusted JavaScript. Hence, most React Native applications are not affected.
Memory Corruption
It was possible to trigger an infinite recursion condition in the error handler when Hermes executed specific maliciously formed JavaScript
CVE-2022-27810
7.5 - High
- October 06, 2022
It was possible to trigger an infinite recursion condition in the error handler when Hermes executed specific maliciously formed JavaScript. This condition was only possible to trigger in dev-mode (when asserts were enabled). This issue affects Hermes versions prior to v0.12.0.
Stack Exhaustion
The Facebook Messenger app for iOS 227.0 and prior and Android 228.1.0.10.116 and prior user interface does not properly represent URI messages to the user, which results in URI spoofing
CVE-2020-20093
6.5 - Medium
- March 23, 2022
The Facebook Messenger app for iOS 227.0 and prior and Android 228.1.0.10.116 and prior user interface does not properly represent URI messages to the user, which results in URI spoofing via specially crafted messages.
Instagram iOS 106.0 and prior and Android 107.0.0.11 and prior user interface does not properly represent URI messages to the user, which results in URI spoofing
CVE-2020-20094
6.5 - Medium
- March 23, 2022
Instagram iOS 106.0 and prior and Android 107.0.0.11 and prior user interface does not properly represent URI messages to the user, which results in URI spoofing via specially crafted messages
By passing invalid javascript code where await and yield were called upon non-async and non-generator getter/setter functions, Hermes
CVE-2021-24044
9.8 - Critical
- January 15, 2022
By passing invalid javascript code where await and yield were called upon non-async and non-generator getter/setter functions, Hermes would invoke generator functions and error out on invalid await/yield positions. This could result in segmentation fault as a consequence of type confusion error, with a low chance of RCE. This issue affects Hermes versions prior to v0.10.0.
Object Type Confusion
A type confusion vulnerability could be triggered when resolving the "typeof" unary operator in Facebook Hermes prior to v0.10.0
CVE-2021-24045
9.8 - Critical
- December 13, 2021
A type confusion vulnerability could be triggered when resolving the "typeof" unary operator in Facebook Hermes prior to v0.10.0. Note that this is only exploitable if the application using Hermes permits evaluation of untrusted JavaScript. Hence, most React Native applications are not affected.
Object Type Confusion
HHVM supports the use of an "admin" server which accepts administrative requests over HTTP
CVE-2019-3556
8.1 - High
- October 26, 2021
HHVM supports the use of an "admin" server which accepts administrative requests over HTTP. One of those request handlers, dump-pcre-cache, can be used to output cached regular expressions from the current execution context into a file. The handler takes a parameter which specifies where on the filesystem to write this data. The parameter is not validated, allowing a malicious user to overwrite arbitrary files where the user running HHVM has write access. This issue affects HHVM versions prior to 4.56.2, all versions between 4.57.0 and 4.78.0, as well as 4.79.0, 4.80.0, 4.81.0, 4.82.0, and 4.83.0.
Directory traversal
parlai is a framework for training and evaluating AI models on a variety of openly available dialogue datasets
CVE-2021-39207
8.8 - High
- September 10, 2021
parlai is a framework for training and evaluating AI models on a variety of openly available dialogue datasets. In affected versions the package is vulnerable to YAML deserialization attack caused by unsafe loading which leads to Arbitary code execution. This security bug is patched by avoiding unsafe loader users should update to version above v1.1.0. If upgrading is not possible then users can change the Loader used to SafeLoader as a workaround. See commit 507d066ef432ea27d3e201da08009872a2f37725 for details.
Marshaling, Unmarshaling
Due to use of unsafe YAML deserialization logic
CVE-2021-24040
9.8 - Critical
- September 10, 2021
Due to use of unsafe YAML deserialization logic, an attacker with the ability to modify local YAML configuration files could provide malicious input, resulting in remote code execution or similar risks. This issue affects ParlAI prior to v1.1.0.
Marshaling, Unmarshaling
Passing an attacker controlled size when creating an IOBuf could cause integer overflow
CVE-2021-24036
9.8 - Critical
- July 23, 2021
Passing an attacker controlled size when creating an IOBuf could cause integer overflow, leading to an out of bounds write on the heap with the possibility of remote code execution. This issue affects versions of folly prior to v2021.07.22.00. This issue affects HHVM versions prior to 4.80.5, all versions between 4.81.0 and 4.102.1, all versions between 4.103.0 and 4.113.0, and versions 4.114.0, 4.115.0, 4.116.0, 4.117.0, 4.118.0 and 4.118.1.
Integer Overflow or Wraparound
A use after free in hermes, while emitting certain error messages, prior to commit d86e185e485b6330216dee8e854455c694e3a36e
CVE-2021-24037
9.8 - Critical
- June 15, 2021
A use after free in hermes, while emitting certain error messages, prior to commit d86e185e485b6330216dee8e854455c694e3a36e allows attackers to potentially execute arbitrary code via crafted JavaScript. Note that this is only exploitable if the application using Hermes permits evaluation of untrusted JavaScript. Hence, most React Native applications are not affected.
Dangling pointer
A regular expression denial of service (ReDoS) vulnerability in the validateBaseUrl function
CVE-2020-1920
7.5 - High
- June 01, 2021
A regular expression denial of service (ReDoS) vulnerability in the validateBaseUrl function can cause the application to use excessive resources, become unresponsive, or crash. This was introduced in react-native version 0.59.0 and fixed in version 0.64.1.
Incorrect Comparison
An invalid free in Thrift's table-based serialization
CVE-2021-24028
9.8 - Critical
- April 14, 2021
An invalid free in Thrift's table-based serialization can cause the application to crash or potentially result in code execution or other undesirable effects. This issue affects Facebook Thrift prior to v2021.02.22.00.
Release of Invalid Pointer or Reference
The run_action function of the Facebook for WordPress plugin before 3.0.0 deserializes user supplied data making it possible for PHP objects to be supplied creating an Object Injection vulnerability
CVE-2021-24217
8.1 - High
- April 12, 2021
The run_action function of the Facebook for WordPress plugin before 3.0.0 deserializes user supplied data making it possible for PHP objects to be supplied creating an Object Injection vulnerability. There was also a useable magic method in the plugin that could be used to achieve remote code execution.
Marshaling, Unmarshaling
The wp_ajax_save_fbe_settings and wp_ajax_delete_fbe_settings AJAX actions of the Facebook for WordPress plugin before 3.0.4 were vulnerable to CSRF due to a lack of nonce protection
CVE-2021-24218
8.8 - High
- April 12, 2021
The wp_ajax_save_fbe_settings and wp_ajax_delete_fbe_settings AJAX actions of the Facebook for WordPress plugin before 3.0.4 were vulnerable to CSRF due to a lack of nonce protection. The settings in the saveFbeSettings function had no sanitization allowing for script tags to be saved.
Session Riding
A packet of death scenario is possible in mvfst
CVE-2021-24029
7.5 - High
- March 15, 2021
A packet of death scenario is possible in mvfst via a specially crafted message during a QUIC session, which causes a crash via a failed assertion. Per QUIC specification, this particular message should be treated as a connection error. This issue affects mvfst versions prior to commit a67083ff4b8dcbb7ee2839da6338032030d712b0 and proxygen versions prior to v2021.03.15.00.
assertion failure
The unserialize() function supported a type code, "S", which was meant to be supported only for APC serialization
CVE-2020-1899
7.5 - High
- March 11, 2021
The unserialize() function supported a type code, "S", which was meant to be supported only for APC serialization. This type code allowed arbitrary memory addresses to be accessed as if they were static StringData objects. This issue affected HHVM prior to v4.32.3, between versions 4.33.0 and 4.56.0, 4.57.0, 4.58.0, 4.58.1, 4.59.0, 4.60.0, 4.61.0, 4.62.0.
Buffer Overflow
The fb_unserialize function did not impose a depth limit for nested deserialization
CVE-2020-1898
7.5 - High
- March 11, 2021
The fb_unserialize function did not impose a depth limit for nested deserialization. That meant a maliciously constructed string could cause deserialization to recurse, leading to stack exhaustion. This issue affected HHVM prior to v4.32.3, between versions 4.33.0 and 4.56.0, 4.57.0, 4.58.0, 4.58.1, 4.59.0, 4.60.0, 4.61.0, 4.62.0.
Stack Exhaustion
When unserializing an object with dynamic properties HHVM needs to pre-reserve the full size of the dynamic property array before inserting anything into it
CVE-2020-1900
9.8 - Critical
- March 11, 2021
When unserializing an object with dynamic properties HHVM needs to pre-reserve the full size of the dynamic property array before inserting anything into it. Otherwise the array might resize, invalidating previously stored references. This pre-reservation was not occurring in HHVM prior to v4.32.3, between versions 4.33.0 and 4.56.0, 4.57.0, 4.58.0, 4.58.1, 4.59.0, 4.60.0, 4.61.0, 4.62.0.
Dangling pointer
In the crypt function, we attempt to null terminate a buffer using the size of the input salt without validating
CVE-2020-1921
7.5 - High
- March 10, 2021
In the crypt function, we attempt to null terminate a buffer using the size of the input salt without validating that the offset is within the buffer. This issue affects HHVM versions prior to 4.56.3, all versions between 4.57.0 and 4.80.1, all versions between 4.81.0 and 4.93.1, and versions 4.94.0, 4.95.0, 4.96.0, 4.97.0, 4.98.0.
Memory Corruption
The fbgames protocol handler registered as part of Facebook Gameroom does not properly quote arguments passed to the executable
CVE-2021-24030
9.8 - Critical
- March 10, 2021
The fbgames protocol handler registered as part of Facebook Gameroom does not properly quote arguments passed to the executable. That allows a malicious URL to cause code execution. This issue affects versions prior to v1.26.0.
Argument Injection
Due to incorrect string size calculations inside the preg_quote function, a large input string passed to the function
CVE-2021-24025
9.8 - Critical
- March 10, 2021
Due to incorrect string size calculations inside the preg_quote function, a large input string passed to the function can trigger an integer overflow leading to a heap overflow. This issue affects HHVM versions prior to 4.56.3, all versions between 4.57.0 and 4.80.1, all versions between 4.81.0 and 4.93.1, and versions 4.94.0, 4.95.0, 4.96.0, 4.97.0, 4.98.0.
Integer Overflow or Wraparound
An incorrect size calculation in ldap_escape may lead to an integer overflow when overly long input is passed in
CVE-2020-1916
9.8 - Critical
- March 10, 2021
An incorrect size calculation in ldap_escape may lead to an integer overflow when overly long input is passed in, resulting in an out-of-bounds write. This issue affects HHVM prior to 4.56.2, all versions between 4.57.0 and 4.78.0, 4.79.0, 4.80.0, 4.81.0, 4.82.0, 4.83.0.
Memory Corruption
Incorrect bounds calculations in substr_compare could lead to an out-of-bounds read when the second string argument passed in is longer than the first
CVE-2020-1919
7.5 - High
- March 10, 2021
Incorrect bounds calculations in substr_compare could lead to an out-of-bounds read when the second string argument passed in is longer than the first. This issue affects HHVM versions prior to 4.56.3, all versions between 4.57.0 and 4.80.1, all versions between 4.81.0 and 4.93.1, and versions 4.94.0, 4.95.0, 4.96.0, 4.97.0, 4.98.0.
Out-of-bounds Read
xbuf_format_converter
CVE-2020-1917
9.8 - Critical
- March 10, 2021
xbuf_format_converter, used as part of exif_read_data, was appending a terminating null character to the generated string, but was not using its standard append char function. As a result, if the buffer was full, it would result in an out-of-bounds write. This issue affects HHVM versions prior to 4.56.3, all versions between 4.57.0 and 4.80.1, all versions between 4.81.0 and 4.93.1, and versions 4.94.0, 4.95.0, 4.96.0, 4.97.0, 4.98.0.
Memory Corruption
In-memory file operations (ie: using fopen on a data URI) did not properly restrict negative seeking
CVE-2020-1918
7.5 - High
- March 10, 2021
In-memory file operations (ie: using fopen on a data URI) did not properly restrict negative seeking, allowing for the reading of memory prior to the in-memory buffer. This issue affects HHVM versions prior to 4.56.3, all versions between 4.57.0 and 4.80.1, all versions between 4.81.0 and 4.93.1, and versions 4.94.0, 4.95.0, 4.96.0, 4.97.0, 4.98.0.
Out-of-bounds Read
react-dev-utils prior to v11.0.4 exposes a function
CVE-2021-24033
5.6 - Medium
- March 09, 2021
react-dev-utils prior to v11.0.4 exposes a function, getProcessForPort, where an input argument is concatenated into a command string to be executed. This function is typically used from react-scripts (in Create React App projects), where the usage is safe. Only when this function is manually invoked with user-provided values (ie: by custom code) is there the potential for command injection. If you're consuming it from react-scripts then this issue does not affect you.
Shell injection
Beginning in v1.4.1 and prior to v1.4.9
CVE-2021-24032
4.7 - Medium
- March 04, 2021
Beginning in v1.4.1 and prior to v1.4.9, due to an incomplete fix for CVE-2021-24031, the Zstandard command-line utility created output files with default permissions and restricted those permissions immediately afterwards. Output files could therefore momentarily be readable or writable to unintended parties.
Incorrect Default Permissions
In the Zstandard command-line utility prior to v1.4.1, output files were created with default permissions
CVE-2021-24031
5.5 - Medium
- March 04, 2021
In the Zstandard command-line utility prior to v1.4.1, output files were created with default permissions. Correct file permissions (matching the input) would only be set at completion time. Output files could therefore be readable or writable to unintended parties.
Incorrect Default Permissions
A stack overflow vulnerability in Facebook Hermes 'builtin apply' prior to commit 86543ac47e59c522976b5632b8bf9a2a4583c7d2 (https://github.com/facebook/hermes/commit/86543ac47e59c522976b5632b8bf9a2a4583c7d2)
CVE-2020-1896
9.8 - Critical
- February 02, 2021
A stack overflow vulnerability in Facebook Hermes 'builtin apply' prior to commit 86543ac47e59c522976b5632b8bf9a2a4583c7d2 (https://github.com/facebook/hermes/commit/86543ac47e59c522976b5632b8bf9a2a4583c7d2) allows attackers to potentially execute arbitrary code via crafted JavaScript. Note that this is only exploitable if the application using Hermes permits evaluation of untrusted JavaScript. Hence, most React Native applications are not affected.
Memory Corruption
An out-of-bounds read in the JavaScript Interpreter in Facebook Hermes prior to commit 8cb935cd3b2321c46aa6b7ed8454d95c75a7fca0
CVE-2020-1915
7.5 - High
- October 26, 2020
An out-of-bounds read in the JavaScript Interpreter in Facebook Hermes prior to commit 8cb935cd3b2321c46aa6b7ed8454d95c75a7fca0 allows attackers to cause a denial of service attack or possible further memory corruption via crafted JavaScript. Note that this is only exploitable if the application using Hermes permits evaluation of untrusted JavaScript. Hence, most React Native applications are not affected.
Out-of-bounds Read
A logic vulnerability when handling the SaveGeneratorLong instruction in Facebook Hermes prior to commit b2021df620824627f5a8c96615edbd1eb7fdddfc
CVE-2020-1914
9.8 - Critical
- October 08, 2020
A logic vulnerability when handling the SaveGeneratorLong instruction in Facebook Hermes prior to commit b2021df620824627f5a8c96615edbd1eb7fdddfc allows attackers to potentially read out of bounds or theoretically execute arbitrary code via crafted JavaScript. Note that this is only exploitable if the application using Hermes permits evaluation of untrusted JavaScript. Hence, most React Native applications are not affected.
Always-Incorrect Control Flow Implementation
A use-after-free is possible due to an error in lifetime management in the request adaptor when a malicious client invokes request error handling in a specific sequence
CVE-2020-1897
9.8 - Critical
- May 18, 2020
A use-after-free is possible due to an error in lifetime management in the request adaptor when a malicious client invokes request error handling in a specific sequence. This issue affects versions of proxygen prior to v2020.05.18.00.
Dangling pointer
A large heap overflow could occur in Instagram for Android when attempting to upload an image with specially crafted dimensions
CVE-2020-1895
7.8 - High
- April 09, 2020
A large heap overflow could occur in Instagram for Android when attempting to upload an image with specially crafted dimensions. This affects versions prior to 128.0.0.26.128.
Integer Overflow or Wraparound
Golang Facebook Thrift servers would not error upon receiving messages declaring containers of sizes larger than the payload
CVE-2019-11939
7.5 - High
- March 18, 2020
Golang Facebook Thrift servers would not error upon receiving messages declaring containers of sizes larger than the payload. As a result, malicious clients could send short messages which would result in a large memory allocation, potentially leading to denial of service. This issue affects Facebook Thrift prior to v2020.03.16.00.
Allocation of Resources Without Limits or Throttling
Java Facebook Thrift servers would not error upon receiving messages declaring containers of sizes larger than the payload
CVE-2019-11938
7.5 - High
- March 10, 2020
Java Facebook Thrift servers would not error upon receiving messages declaring containers of sizes larger than the payload. As a result, malicious clients could send short messages which would result in a large memory allocation, potentially leading to denial of service. This issue affects Facebook Thrift prior to v2019.12.09.00.
Allocation of Resources Without Limits or Throttling
C++ Facebook Thrift servers would not error upon receiving messages declaring containers of sizes larger than the payload
CVE-2019-3553
7.5 - High
- March 10, 2020
C++ Facebook Thrift servers would not error upon receiving messages declaring containers of sizes larger than the payload. As a result, malicious clients could send short messages which would result in a large memory allocation, potentially leading to denial of service. This issue affects Facebook Thrift prior to v2020.02.03.00.
Allocation of Resources Without Limits or Throttling
Insufficient boundary checks when decoding JSON in JSON_parser
CVE-2020-1892
8.1 - High
- March 03, 2020
Insufficient boundary checks when decoding JSON in JSON_parser allows read access to out of bounds memory, potentially leading to information leak and DOS. This issue affects HHVM 4.45.0, 4.44.0, 4.43.0, 4.42.0, 4.41.0, 4.40.0, 4.39.0, versions between 4.33.0 and 4.38.0 (inclusive), versions between 4.9.0 and 4.32.0 (inclusive), and versions prior to 4.8.7.
Out-of-bounds Read
Insufficient boundary checks when decoding JSON in handleBackslash reads out of bounds memory, potentially leading to DOS
CVE-2020-1888
7.5 - High
- March 03, 2020
Insufficient boundary checks when decoding JSON in handleBackslash reads out of bounds memory, potentially leading to DOS. This issue affects HHVM 4.45.0, 4.44.0, 4.43.0, 4.42.0, 4.41.0, 4.40.0, 4.39.0, versions between 4.33.0 and 4.38.0 (inclusive), versions between 4.9.0 and 4.32.0 (inclusive), and versions prior to 4.8.7.
Out-of-bounds Read
Insufficient boundary checks when decoding JSON in TryParse reads out of bounds memory, potentially leading to DOS
CVE-2020-1893
7.5 - High
- March 03, 2020
Insufficient boundary checks when decoding JSON in TryParse reads out of bounds memory, potentially leading to DOS. This issue affects HHVM 4.45.0, 4.44.0, 4.43.0, 4.42.0, 4.41.0, 4.40.0, 4.39.0, versions between 4.33.0 and 4.38.0 (inclusive), versions between 4.9.0 and 4.32.0 (inclusive), and versions prior to 4.8.7.
Out-of-bounds Read
Insufficient boundary checks when processing a string in mb_ereg_replace allows access to out-of-bounds memory
CVE-2019-11935
9.8 - Critical
- December 04, 2019
Insufficient boundary checks when processing a string in mb_ereg_replace allows access to out-of-bounds memory. This issue affects HHVM versions prior to 3.30.12, all versions between 4.0.0 and 4.8.5, all versions between 4.9.0 and 4.23.1, as well as 4.24.0, 4.25.0, 4.26.0, 4.27.0, 4.28.0, and 4.28.1.
Classic Buffer Overflow
In the course of decompressing HPACK inside the HTTP2 protocol, an unexpected sequence of header table resize operations
CVE-2019-11940
9.8 - Critical
- December 04, 2019
In the course of decompressing HPACK inside the HTTP2 protocol, an unexpected sequence of header table resize operations can place the header table into a corrupted state, leading to a use-after-free condition and undefined behavior. This issue affects Proxygen from v0.29.0 until v2017.04.03.00.
Dangling pointer
Various APC functions accept keys containing null bytes as input, leading to premature truncation of input
CVE-2019-11936
9.8 - Critical
- December 04, 2019
Various APC functions accept keys containing null bytes as input, leading to premature truncation of input. This issue affects HHVM versions prior to 3.30.12, all versions between 4.0.0 and 4.8.5, all versions between 4.9.0 and 4.23.1, as well as 4.24.0, 4.25.0, 4.26.0, 4.27.0, 4.28.0, and 4.28.1.
Improper handling of close_notify alerts can result in an out-of-bounds read in AsyncSSLSocket
CVE-2019-11934
9.8 - Critical
- December 04, 2019
Improper handling of close_notify alerts can result in an out-of-bounds read in AsyncSSLSocket. This issue affects folly prior to v2019.11.04.00.
Out-of-bounds Read
An invalid free in mb_detect_order can cause the application to crash or potentially result in remote code execution
CVE-2019-11930
9.8 - Critical
- December 04, 2019
An invalid free in mb_detect_order can cause the application to crash or potentially result in remote code execution. This issue affects HHVM versions prior to 3.30.12, all versions between 4.0.0 and 4.8.5, all versions between 4.9.0 and 4.23.1, as well as 4.24.0, 4.25.0, 4.26.0, 4.27.0, 4.28.0, and 4.28.1.
Release of Invalid Pointer or Reference
In Mcrouter prior to v0.41.0
CVE-2019-11937
7.5 - High
- December 04, 2019
In Mcrouter prior to v0.41.0, a large struct input provided to the Carbon protocol reader could result in stack exhaustion and denial of service.
Stack Exhaustion
In Mcrouter prior to v0.41.0, the deprecated ASCII parser would allocate a buffer to a user-specified length with no maximum length enforced
CVE-2019-11923
7.5 - High
- December 04, 2019
In Mcrouter prior to v0.41.0, the deprecated ASCII parser would allocate a buffer to a user-specified length with no maximum length enforced, allowing for resource exhaustion or denial of service.
Allocation of Resources Without Limits or Throttling
Insufficient boundary checks when formatting numbers in number_format
CVE-2019-11929
9.8 - Critical
- October 02, 2019
Insufficient boundary checks when formatting numbers in number_format allows read/write access to out-of-bounds memory, potentially leading to remote code execution. This issue affects HHVM versions prior to 3.30.10, all versions between 4.0.0 and 4.8.5, all versions between 4.9.0 and 4.18.2, and versions 4.19.0, 4.19.1, 4.20.0, 4.20.1, 4.20.2, 4.21.0, 4.22.0, 4.23.0.
Buffer Overflow
Insufficient boundary checks when processing M_SOFx markers from JPEG headers in the GD extension could
CVE-2019-11926
9.8 - Critical
- September 06, 2019
Insufficient boundary checks when processing M_SOFx markers from JPEG headers in the GD extension could allow access to out-of-bounds memory via a maliciously constructed invalid JPEG input. This issue affects HHVM versions prior to 3.30.9, all versions between 4.0.0 and 4.8.3, all versions between 4.9.0 and 4.15.2, and versions 4.16.0 to 4.16.3, 4.17.0 to 4.17.2, 4.18.0 to 4.18.1, 4.19.0, 4.20.0 to 4.20.1.
Out-of-bounds Read
Insufficient boundary checks when processing the JPEG APP12 block marker in the GD extension could
CVE-2019-11925
9.8 - Critical
- September 06, 2019
Insufficient boundary checks when processing the JPEG APP12 block marker in the GD extension could allow access to out-of-bounds memory via a maliciously constructed invalid JPEG input. This issue affects HHVM versions prior to 3.30.9, all versions between 4.0.0 and 4.8.3, all versions between 4.9.0 and 4.15.2, and versions 4.16.0 to 4.16.3, 4.17.0 to 4.17.2, 4.18.0 to 4.18.1, 4.19.0, 4.20.0 to 4.20.1.
Out-of-bounds Read
The facebook-for-woocommerce plugin before 1.9.14 for WordPress has CSRF.
CVE-2019-15840
8.8 - High
- August 30, 2019
The facebook-for-woocommerce plugin before 1.9.14 for WordPress has CSRF.
Session Riding
The facebook-for-woocommerce plugin before 1.9.15 for WordPress has CSRF
CVE-2019-15841
8.8 - High
- August 30, 2019
The facebook-for-woocommerce plugin before 1.9.15 for WordPress has CSRF via ajax_woo_infobanner_post_click, ajax_woo_infobanner_post_xout, or ajax_fb_toggle_visibility.
Session Riding
A peer could send empty handshake fragments containing only padding
CVE-2019-11924
7.5 - High
- August 20, 2019
A peer could send empty handshake fragments containing only padding which would be kept in memory until a full handshake was received, resulting in memory exhaustion. This issue affects versions v2019.01.28.00 and above of fizz, until v2019.08.05.00.
Allocation of Resources Without Limits or Throttling
A race condition in the one-pass compression functions of Zstandard prior to version 1.3.8 could
CVE-2019-11922
8.1 - High
- July 25, 2019
A race condition in the one-pass compression functions of Zstandard prior to version 1.3.8 could allow an attacker to write bytes out of bounds if an output buffer smaller than the recommended size was used.
Race Condition
An out of bounds write is possible
CVE-2019-11921
9.8 - Critical
- July 25, 2019
An out of bounds write is possible via a specially crafted packet in certain configurations of Proxygen due to improper handling of Base64 when parsing malformed binary content in Structured HTTP Headers. This issue affects versions of proxygen prior to v2019.07.22.00.
Memory Corruption
Call to the scrypt_enc() function in HHVM can lead to heap corruption by using specifically crafted parameters (N, r and p)
CVE-2019-3570
9.8 - Critical
- July 18, 2019
Call to the scrypt_enc() function in HHVM can lead to heap corruption by using specifically crafted parameters (N, r and p). This happens if the parameters are configurable by an attacker for instance by providing the output of scrypt_enc() in a context where Hack/PHP code would attempt to verify it by re-running scrypt_enc() with the same parameters. This could result in information disclosure, memory being overwriten or crashes of the HHVM process. This issue affects versions 4.3.0, 4.4.0, 4.5.0, 4.6.0, 4.7.0, 4.8.0, versions 3.30.5 and below, and all versions in the 4.0, 4.1, and 4.2 series.
Buffer Overflow
HHVM, when used with FastCGI, would bind by default to all available interfaces
CVE-2019-3569
7.5 - High
- June 26, 2019
HHVM, when used with FastCGI, would bind by default to all available interfaces. This behavior could allow a malicious individual unintended direct access to the application, which could result in information disclosure. This issue affects versions 4.3.0, 4.4.0, 4.5.0, 4.6.0, 4.7.0, 4.8.0, versions 3.30.5 and below, and all versions in the 4.0, 4.1, and 4.2 series.
Exposure of Resource to Wrong Sphere
C++ Facebook Thrift servers (using cpp2) would not error upon receiving messages with containers of fields of unknown type
CVE-2019-3552
7.5 - High
- May 06, 2019
C++ Facebook Thrift servers (using cpp2) would not error upon receiving messages with containers of fields of unknown type. As a result, malicious clients could send short messages which would take a long time for the server to parse, potentially leading to denial of service. This issue affects Facebook Thrift prior to v2019.02.18.00.
Improper Handling of Exceptional Conditions
Python Facebook Thrift servers would not error upon receiving messages with containers of fields of unknown type
CVE-2019-3558
7.5 - High
- May 06, 2019
Python Facebook Thrift servers would not error upon receiving messages with containers of fields of unknown type. As a result, malicious clients could send short messages which would take a long time for the server to parse, potentially leading to denial of service. This issue affects Facebook Thrift prior to v2019.02.18.00.
Improper Handling of Exceptional Conditions
Go Facebook Thrift servers would not error upon receiving messages with containers of fields of unknown type
CVE-2019-3564
7.5 - High
- May 06, 2019
Go Facebook Thrift servers would not error upon receiving messages with containers of fields of unknown type. As a result, malicious clients could send short messages which would take a long time for the server to parse, potentially leading to denial of service. This issue affects Facebook Thrift prior to v2019.03.04.00.
Improper Handling of Exceptional Conditions
Java Facebook Thrift servers would not error upon receiving messages with containers of fields of unknown type
CVE-2019-3559
7.5 - High
- May 06, 2019
Java Facebook Thrift servers would not error upon receiving messages with containers of fields of unknown type. As a result, malicious clients could send short messages which would take a long time for the server to parse, potentially leading to denial of service. This issue affects Facebook Thrift prior to v2019.02.18.00.
Improper Handling of Exceptional Conditions
Legacy C++ Facebook Thrift servers (using cpp instead of cpp2)
CVE-2019-3565
7.5 - High
- May 06, 2019
Legacy C++ Facebook Thrift servers (using cpp instead of cpp2) would not error upon receiving messages with containers of fields of unknown type. As a result, malicious clients could send short messages which would take a long time for the server to parse, potentially leading to denial of service. This issue affects Facebook Thrift prior to v2019.05.06.00.
Improper Handling of Exceptional Conditions
Insufficient boundary checks for the strrpos and strripos functions allow access to out-of-bounds memory
CVE-2019-3561
9.8 - Critical
- April 29, 2019
Insufficient boundary checks for the strrpos and strripos functions allow access to out-of-bounds memory. This affects all supported versions of HHVM (4.0.3, 3.30.4, and 3.27.7 and below).
Out-of-bounds Read
An improperly performed length calculation on a buffer in PlaintextRecordLayer could lead to an infinite loop and denial-of-service based on user input
CVE-2019-3560
7.5 - High
- April 29, 2019
An improperly performed length calculation on a buffer in PlaintextRecordLayer could lead to an infinite loop and denial-of-service based on user input. This issue affected versions of fizz prior to v2019.03.04.00.
Incorrect Calculation of Buffer Size
Wangle's LineBasedFrameDecoder contains logic for identifying newlines
CVE-2019-3563
9.8 - Critical
- April 29, 2019
Wangle's LineBasedFrameDecoder contains logic for identifying newlines which incorrectly advances a buffer, leading to a potential underflow. This affects versions of Wangle prior to v2019.04.22.00
Buffer Overflow
The implementations of streams for bz2 and php://output improperly implemented their readImpl functions, returning -1 consistently
CVE-2019-3557
9.8 - Critical
- January 15, 2019
The implementations of streams for bz2 and php://output improperly implemented their readImpl functions, returning -1 consistently. This behavior caused some stream functions, such as stream_get_line, to trigger an out-of-bounds read when operating on such malformed streams. The implementations were updated to return valid values consistently. This affects all supported versions of HHVM (3.30 and 3.27.4 and below).
Out-of-bounds Read
Wangle's AcceptRoutingHandler incorrectly casts a socket when accepting a TLS 1.3 connection
CVE-2019-3554
5.9 - Medium
- January 15, 2019
Wangle's AcceptRoutingHandler incorrectly casts a socket when accepting a TLS 1.3 connection, leading to a potential denial of service attack against systems accepting such connections. This affects versions of Wangle prior to v2019.01.14.00
Data Processing Errors
The function number_format is vulnerable to a heap overflow issue when its second argument ($dec_points) is excessively large
CVE-2018-6345
9.8 - Critical
- January 15, 2019
The function number_format is vulnerable to a heap overflow issue when its second argument ($dec_points) is excessively large. The internal implementation of the function will cause a string to be created with an invalid length, which can then interact poorly with other functions. This affects all supported versions of HHVM (3.30.1 and 3.27.5 and below).
Memory Corruption
The hhvm-attach deep link handler in Nuclide did not properly sanitize the provided hostname parameter when rendering
CVE-2018-6333
9.8 - Critical
- December 31, 2018
The hhvm-attach deep link handler in Nuclide did not properly sanitize the provided hostname parameter when rendering. As a result, a malicious URL could be used to render HTML and other content inside of the editor's context, which could potentially be chained to lead to code execution. This issue affected Nuclide prior to v0.290.0.
Improper Input Validation
Buck parser-cache command loads/saves state using Java serialized object
CVE-2018-6331
9.8 - Critical
- December 31, 2018
Buck parser-cache command loads/saves state using Java serialized object. If the state information is maliciously crafted, deserializing it could lead to code execution. This issue affects Buck versions prior to v2018.06.25.01.
Marshaling, Unmarshaling
Proxygen fails to validate that a secondary auth manager is set before dereferencing it
CVE-2018-6343
7.5 - High
- December 31, 2018
Proxygen fails to validate that a secondary auth manager is set before dereferencing it. That can cause a denial of service issue when parsing a Certificate/CertificateRequest HTTP2 Frame over a fizz (TLS 1.3) transport. This issue affects Proxygen releases starting from v2018.10.29.00 until the fix in v2018.11.19.00.
Improper Input Validation
React applications which rendered to HTML using the ReactDOMServer API were not escaping user-supplied attribute names at render-time
CVE-2018-6341
6.1 - Medium
- December 31, 2018
React applications which rendered to HTML using the ReactDOMServer API were not escaping user-supplied attribute names at render-time. That lack of escaping could lead to a cross-site scripting vulnerability. This issue affected minor releases 16.0.x, 16.1.x, 16.2.x, 16.3.x, and 16.4.x. It was fixed in 16.0.1, 16.1.2, 16.2.1, 16.3.3, and 16.4.2.
XSS
The Memcache::getextendedstats function can be used to trigger an out-of-bounds read
CVE-2018-6340
8.1 - High
- December 31, 2018
The Memcache::getextendedstats function can be used to trigger an out-of-bounds read. Exploiting this issue requires control over memcached server hostnames and/or ports. This affects all supported versions of HHVM (3.30 and 3.27.4 and below).
Out-of-bounds Read
folly::secureRandom will re-use a buffer between parent and child processes when fork() is called
CVE-2018-6337
7.5 - High
- December 31, 2018
folly::secureRandom will re-use a buffer between parent and child processes when fork() is called. That will result in multiple forked children producing repeat (or similar) results. This affects HHVM 3.26 prior to 3.26.3 and the folly library between v2017.12.11.00 and v2018.08.09.00.
Buffer Overflow
A Malformed h2 frame can cause 'std::out_of_range' exception when parsing priority meta data
CVE-2018-6335
7.5 - High
- December 31, 2018
A Malformed h2 frame can cause 'std::out_of_range' exception when parsing priority meta data. This behavior can lead to denial-of-service. This affects all supported versions of HHVM (3.25.2, 3.24.6, and 3.21.10 and below) when using the proxygen server to handle HTTP2 requests.
Improper Input Validation
Multipart-file uploads call variables to be improperly registered in the global scope
CVE-2018-6334
9.8 - Critical
- December 31, 2018
Multipart-file uploads call variables to be improperly registered in the global scope. In cases where variables are not declared explicitly before being used this can lead to unexpected behavior. This affects all supported versions of HHVM prior to the patch (3.25.1, 3.24.5, and 3.21.9 and below).
Improper Input Validation
A potential denial-of-service issue in the Proxygen handling of invalid HTTP2 settings
CVE-2018-6332
5.9 - Medium
- December 03, 2018
A potential denial-of-service issue in the Proxygen handling of invalid HTTP2 settings which can cause the server to spend disproportionate resources. This affects all supported versions of HHVM (3.24.3 and 3.21.7 and below) when using the proxygen server to handle HTTP2 requests.
Data Processing Errors
Cross-site scripting (XSS) vulnerability in the Facebook app 14.0 and the Facebook Messenger app 10.0 for iOS allows remote attackers to inject arbitrary web script or HTML via a crafted filename extension
CVE-2014-6392
- September 15, 2014
Cross-site scripting (XSS) vulnerability in the Facebook app 14.0 and the Facebook Messenger app 10.0 for iOS allows remote attackers to inject arbitrary web script or HTML via a crafted filename extension that is improperly handled during MIME sniffing of chat traffic. NOTE: the vendor disputes the significance of this report, because the user must accept an interstitial warning before the HTML file content is rendered, and because the HTML content's origin is a sandbox domain
XSS