These functions may be used to either drop or change account privileges. If the calls fail, the process will continue to run with the privileges assigned to it on start. Depending on the logic of the application, this may allow attackers to abuse the system due to privileges never being changed to a different access level. Always ensure return values of this
@gitlab-security-products
GitLab Security Products
Public SAST rules indexed from GitLab security-products/sast-rules with original source and license metadata.
- Total stars
- 0
- Total downloads
- 47230
- Verified rules
- 485
- Accepted feedback
- 0
Uploaded rules
View leaderboardThe umask function call sets the process's file mode creation mask. umask values determine what permissions a file should be created with and who can read or write to these files. Ensure that umask is given most restrictive possible setting depending on the context, usually 066 or 077, for more information please see: https://en.wikipedia.org/wiki/Umask#Mask
95 downloads
0 direct95 via packsFormat specifiers can take optional field widths, which should be used to limit how many characters are copied into the target buffer. Example: ``` const char str[20] = "AAAAAAAAAAAAAAAAAAA"; char buf[11] = {0}; sscanf(str, "%10s", &buf); // buf = AAAAAAAAAA\0 ```
95 downloads
0 direct95 via packsThis function is synonymous with `getenv("HOME")` and should be treated as untrusted input as it could be modified by an attacker. Possible risks include: - The value being too large and causing buffer overflows - Files under the attacker's control being used maliciously - Files outside of an attacker's control becoming accessible, depending on access privil
95 downloads
0 direct95 via packsThis function is synonymous with `getenv("TMP")` and should be treated as untrusted input as it could be modified by an attacker. Possible risks include: - The value being too large and causing buffer overflows - Files under the attacker's control being used maliciously - Files outside of an attacker's control becoming accessible, depending on access privile
95 downloads
0 direct95 via packsThis function's return value should be treated as untrusted input as it could be modified by an attacker. Possible risks include: - The value being too large and causing buffer overflows - Files under the attacker's control being used maliciously - Files outside of an attacker's control becoming accessible, depending on access privileges.
95 downloads
0 direct95 via packsThe gets() function reads a line from stdin into the provided buffer until either a terminating newline or EOF. This terminating newline or EOF is replaced with a null byte `'\0'`. No check for buffer overruns are performed so it is recommended to use `fgets()` instead. Do note that some platforms will continue reading data after a `'\0'` is encountered. Usa
95 downloads
0 direct95 via packs`getwd` does not contain a parameter to limit how many characters can be copied into the destination buffer. For portability and security reasons `getwd` has been deprecated in favor of `getcwd`. For more information please see: https://linux.die.net/man/3/getcwd
95 downloads
0 direct95 via packsThe `strcat` family of functions are unable to limit how many bytes are copied to the destination buffer. It is recommended to use more secure alternatives such as `snprintf`. If developing for C Runtime Library (CRT), more secure versions of these functions should be used, see: https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/strcat-s-wcsca
95 downloads
0 direct95 via packsConsider using more secure alternatives such as `snprintf`, instead of the `wcsncat` family of functions. If developing for C Runtime Library (CRT), more secure versions of these functions should be used, see: https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/strncat-strncat-l-wcsncat-wcsncat-l-mbsncat-mbsncat-l?view=msvc-170
95 downloads
0 direct95 via packsThe `lstrcpy` family of functions do not provide the ability to limit or check buffer sizes before copying to a destination buffer. This can lead to buffer overflows. Consider using more secure alternatives such as `strncpy_s`. If developing for C Runtime Library (CRT), more secure versions of these functions should be used, see: https://learn.microsoft.com/
95 downloads
0 direct95 via packsThe `lstrcpyn` family of functions do not always check for invalid pointers or check if there is sufficient space prior to copying. The count argument limits the number of characters copied but does validate if the count will fit within the size of the destination buffer, leading to potential overflows. If developing for C Runtime Library (CRT), more secure
95 downloads
0 direct95 via packsThe `memcpy` family of functions require the developer to validate that the destination buffer is the same size or larger than the source buffer. Buffer overflows could be introduced if care is not taken to validate buffer sizes. If developing for C Runtime Library (CRT), more secure versions of these functions should be used, see: https://learn.microsoft.co
95 downloads
0 direct95 via packsThe input buffer is the number of bytes in the string, but the size of the output buffer is the number of characters. To avoid overflows, the application must determine the correct buffer size which depends on the data type the buffer receives. For more information see: https://learn.microsoft.com/en-us/windows/win32/intl/security-considerations--internation
95 downloads
0 direct95 via packsThe `realpath` function should not be called with a destination buffer as it could lead to overflowing if the path is greater than PATH_LEN. It is instead recommended to call `realpath` with the destination buffer set to NULL and use the return value as the resolved path. Be sure to free the returned pointer as realpath will allocate the buffer internally us
95 downloads
0 direct95 via packsFormat specifiers can take optional field widths, which should be used to limit how many characters are copied into the target buffer. For more information please see: https://linux.die.net/man/3/scanf Example: ``` char buf[11] = {0}; scanf("%10s", &buf); // buf = AAAAAAAAAA\0 ``` If developing for C Runtime Library (CRT), more secure versions of these funct
95 downloads
0 direct95 via packsUse sprintf_s, snprintf, or vsnprintf instead. The `sprintf` family of functions do not allow callers to set limits on how many bytes the destination buffer can hold. Consider using more secure alternatives such as `snprintf`. For more information please see: https://linux.die.net/man/3/snprintf If developing for C Runtime Library (CRT), more secure versions
95 downloads
0 direct95 via packsThe `StrCat` family of functions do not guarantee the final string to be null terminated. Consider using one of the following alternatives: `StringCbCat`, `StringCbCatEx`, `StringCbCatN`, `StringCbCatNEx`, `StringCchCat`, `StringCchCatEx`, `StringCchCatN`, or `StringCchCatNEx`. For more information please see: https://learn.microsoft.com/en-us/windows/win32/
95 downloads
0 direct95 via packsThe `strcat` family of functions are unable to limit how many bytes are copied to the destination buffer. It is recommended to use more secure alternatives such as `snprintf`. For more information please see: https://linux.die.net/man/3/snprintf If developing for C Runtime Library (CRT), more secure versions of these functions should be used, see: https://le
95 downloads
0 direct95 via packsThe `strccpy` and `strcadd` functions do not allow the caller to check that the destination size of the buffer will fit the input buffer prior to copying. For more information please see: https://docs.oracle.com/cd/E18752_01/html/816-5172/streadd-3gen.html
95 downloads
0 direct95 via packsThe `strcpy` family of functions do not provide the ability to limit or check buffer sizes before copying to a destination buffer. This can lead to buffer overflows. Consider using more secure alternatives such as `strncpy` and provide the correct limit to the destination buffer and ensure the string is null terminated. For more information please see: https
95 downloads
0 direct95 via packsThe `StrCpy` family of functions do not guarantee the final string to be null terminated. Consider using one of the following alternatives `StringCbCopy`, `StringCbCopyEx`, `StringCbCopyN`, `StringCbCopyNEx`, `StringCchCopy`, `StringCchCopyEx`, `StringCchCopyN`, or `StringCchCopyNEx`. If developing for C Runtime Library (CRT), more secure versions of these f
95 downloads
0 direct95 via packsThe `strecpy` and `streadd` functions require that the destination buffer size be at least four times the size of the source due to each character potentially becoming a `\` and 3 digits. For more information please see: https://docs.oracle.com/cd/E18752_01/html/816-5172/streadd-3gen.html
95 downloads
0 direct95 via packsThe `strlen` family of functions does not handle strings that are not null terminated. This can lead to buffer over reads and cause the application to crash by accessing unintended memory locations. It is recommended that `strnlen` be used instead as a `maxlen` value can be provided. For more information please see: https://linux.die.net/man/3/strnlen If dev
95 downloads
0 direct95 via packsThe `strncat` family of functions are easy to use incorrectly when calculating destination buffer sizes. It is recommended to use more secure alternatives such as `snprintf`. For more information please see: https://linux.die.net/man/3/snprintf If developing for C Runtime Library (CRT), more secure versions of these functions should be used, see: https://lea
95 downloads
0 direct95 via packsThe `strncpy` family of functions do not properly handle strings that are not null terminated. It is recommended to use more secure alternatives such as `snprintf`. For more information please see: https://linux.die.net/man/3/snprintf If developing for C Runtime Library (CRT), more secure versions of these functions should be used, see: https://learn.microso
95 downloads
0 direct95 via packsThis function is easy to misuse by not accounting for the space necessary when transforming strings. Ensure that the destination buffer is large enough to fit the transformed output. For more information please see: https://docs.oracle.com/cd/E36784_01/html/E36877/strtrns-3gen.html
95 downloads
0 direct95 via packsThe crypt functions are not recommended due to the significantly small key space. Modern hardware can crack crypt produced passwords relatively quickly. Consider using the Argon2id password hashing algorithm provided by libsodium. For more information please see: https://libsodium.gitbook.io/doc/password_hashing.
95 downloads
0 direct95 via packsThe DES algorithm has not been recommended for over 15 years and was withdrawn from NIST (FIPS 46-3) in 2005. Consider using libsodium's `crypto_secretbox_easy` authenticated encryption functions instead. For more information please see: https://libsodium.gitbook.io/doc/secret-key_cryptography/secretbox. If you must be FIPS compliant, consider using OpenSSLs
95 downloads
0 direct95 via packsThe RC4 algorithm is vulnerable to many attacks and should no longer be used for encrypting data streams. Consider using libsodium's `crypto_secretstream_xchacha20poly1305` stream cipher encryption functions instead. For more information please see: https://libsodium.gitbook.io/doc/secret-key_cryptography/secretstream If you must be FIPS compliant, consider
95 downloads
0 direct95 via packsFormat string vulnerabilities allow an attacker to read or in some cases, potentially write data to and from locations in the processes' memory. To prevent against format string attacks, do not allow users or un-validated input to provide the format specification. Consider using a constant for the format specification, or only allow specific characters to be
95 downloads
0 direct95 via packsFormat string vulnerabilities allow an attacker to read or in some cases, potentially write data to and from locations in the processes' memory. To prevent against format string attacks, do not allow users or un-validated input to provide the format specification. Consider using a constant for the format specification, or only allow specific characters to be
95 downloads
0 direct95 via packsFormat string vulnerabilities allow an attacker to read or in some cases, potentially write data to and from locations in the processes' memory. To prevent against format string attacks, do not allow users or un-validated input to provide the format specification. Consider using a constant for the format specification, or strip all format specifiers from the
95 downloads
0 direct95 via packsFormat string vulnerabilities allow an attacker to read or in some cases, potentially write data to and from locations in the processes' memory. To prevent against format string attacks, do not allow users or un-validated input to provide the format specification. Consider using a constant for the format specification, or strip all format specifiers from the
95 downloads
0 direct95 via packsThe `memalign` function may not check that the alignment argument is correct. Calling free (on non Linux-based systems) may fail and in certain circumstances this failure may be exploitable. This function has been deprecated in favor of `posix_memalign`. For more information please see: https://linux.die.net/man/3/memalign
95 downloads
0 direct95 via packsThe `atoi` family of functions can potentially overflow or underflow integer values. Consider using `stroul` instead. For more information please see: https://wiki.sei.cmu.edu/confluence/display/c/ERR34-C.+Detect+errors+when+converting+a+string+to+a+number
95 downloads
0 direct95 via packsMake sure that you set inheritance by hand if you wish it to inherit.
95 downloads
0 direct95 via packs`cuserid()` is poorly defined (e.g., some systems use the effective UID, like Linux, while others like System V use the real UID). Therefore, you can't trust what it does. The cuserid function was included in the 1988 version of POSIX, but removed from the 1990 version. Also, if passed a non-null parameter, there's a risk of a buffer overflow if the passed-i
95 downloads
0 direct95 via packsUsage of the `open` family of functions may hint at a potential Time Of Check Time Of Use (TOCTOU) vulnerability. An attacker may be able to modify the file being specified by the `open` function prior to the `open` function being called. Prior to calling `open`, use `lstat` to open the file and confirm the attributes are correct. Then use `open` to get a fi
95 downloads
0 direct95 via packsThe `getlogin` function suffers from many bugs or unknown behaviors depending on the system. Often, it gives only the first 8 characters of the login name. The user currently logged in on the controlling TTY of our program does not necessarily mean it is the user who started the process. Use getpwuid(geteuid()) and extract the desired information instead. Fo
95 downloads
0 direct95 via packsThis function is obsolete and not portable. It was in SUSv2 but removed by POSIX.2. What it does exactly varies considerably between systems, particularly in where its prompt is displayed and where it gets its data. Some systems will write to stderr instead of stdout. Some will read from stdin if it can not be read from /dev/tty. In some systems the buffer i
95 downloads
0 direct95 via packsThe `LoadLibrary` function is used to load DLLs dynamically. Depending on the filepath parameter, the OS version, and the modes set for the process prior to calling LoadLibrary, DLL hijacking may be possible. Attackers can exploit this by placing DLL files with the same name in directories that are searched before the legitimate DLL is. To assist in preventi
95 downloads
0 direct95 via packsThe `LoadLibraryEx` function is used to load DLLs dynamically. Depending on the filepath parameter, the OS version, and the modes set for the process prior to calling LoadLibrary, DLL hijacking may be possible. Attackers can exploit this by placing DLL files with the same name in directories that are searched before the legitimate DLL is. To assist in preven
95 downloads
0 direct95 via packsWhen `SetSecurityDescriptorDacl` is called with a null `pDacl` parameter and the `bDaclPresent` flag is `TRUE`, all access to the object is allowed. An attacker could set the object to Deny all, which would include even the Administrator user(s). Either call `SetSecurityDescriptorDacl` with bDaclPresent as `FALSE`, or supply a valid non-null `pDacl` paramete
95 downloads
0 direct95 via packsThe `gsignal` and `ssignal` functions are obsolete and no longer recommended. Consider using the `raise` or `sigaction` functions instead for process signaling. For more information please see: https://linux.die.net/man/3/sigaction
95 downloads
0 direct95 via packsThe ulimit function is obsolete and no longer recommended. Use `getrlimit(2)`, `setrlimit`, or `sysconf` instead. For more information please see: https://linux.die.net/man/3/setrlimit
95 downloads
0 direct95 via packsThe `usleep` function has been deprecated, use `nanosleep` or `setitimer` instead. For more information please see: https://linux.die.net/man/3/setitimer
95 downloads
0 direct95 via packsUsage of the `access` function call hints at a potential Time Of Check Time Of Use (TOCTOU) vulnerability. Using the `access` function to check if a file exists and is readable before opening it, an attacker can create a race condition between the `access` call and opening the file. The attacker could replace the file with a different one or modify its conte
95 downloads
0 direct95 via packsUsage of the `chmod` function call hints at a potential Time Of Check Time Of Use (TOCTOU) vulnerability. An attacker may be able to modify the file being specified by the `chmod` function prior to the `chmod` function being called. Since `chmod` will resolve symbolic links, an attacker may be able to exploit this fact to have files outside of their control
95 downloads
0 direct95 via packsUsage of the `chown` function call hints at a potential Time Of Check Time Of Use (TOCTOU) vulnerability. An attacker may be able to modify the file being specified by the `chmod` function prior to the `chown` function being called. Since `chown` will resolve symbolic links, an attacker may be able to exploit this fact to have files outside of their control
95 downloads
0 direct95 via packsUsage of the `readlink` function call hints at a potential Time Of Check Time Of Use (TOCTOU) vulnerability. An attacker may be able to modify the file being specified by the `readlink` function prior to the `readlink` function being called. Additionally, care must be taken that the buffer provided is large enough to hold the contents of the file. Instead of
95 downloads
0 direct95 via packsThe `vfork` function is suffers from portability issues and is not recommended. In some Linux systems `vfork` is vulnerable to a race condition while the child process is running as the user's UID but hasn't executed `execve`. The user may be able to send signals to this process, which in `vfork` would not be sent to the parent process. As a result a user ma
95 downloads
0 direct95 via packsThe detected function is not sufficient at generating security-related random numbers, such as those used in key and nonce creation. Consider using the libsodium library's `randombytes_random` function instead. More information on libsodium's random number generators can be found here: https://libsodium.gitbook.io/doc/generating_random_data. If FIPS validati
95 downloads
0 direct95 via packsDue to how `CreateProcess` parses spaces, an attacker may be able to exploit this function by creating a binary with the same name that is loaded first, depending on the search path order. Ensure that quotation marks around the executable path are used, such as: ``` CreateProcessA(NULL, "\"C:\\Program Files\\MyApp.exe\"", ...) ``` For more information, pleas
95 downloads
0 direct95 via packsDue to how `CreateProcess` parses spaces, an attacker may be able to exploit this function by creating a binary with the same name that is loaded first, depending on the search path order. Ensure that quotation marks around the executable path are used, such as: ``` CreateProcessAsUser(hToken, NULL, "\"C:\\Program Files\\MyApp.exe\"", ...) ``` For more infor
95 downloads
0 direct95 via packsIt is generally not recommended to call out to the operating system to execute commands. When the application is executing file system based commands, user input should never be used in constructing commands or command arguments. If possible, determine if a library can be used instead to provide the same functionality. Otherwise, consider hard coding both th
95 downloads
0 direct95 via packsIt is generally not recommended to call out to the operating system to execute commands. When the application is executing file system based commands, user input should never be used in constructing commands or command arguments. If possible, determine if a library can be used instead to provide the same functionality. Otherwise, consider hard coding both th
95 downloads
0 direct95 via packsThe `GetTempFileName` function works by generating a randomly named file, creating the file (if it does not exist) and then closing it. An application wishing to use this temporary file will need to reopen this file to begin working with it. This leads to a potential Time Of Check Time Of Use (TOCTOU) vulnerability, as an attacker could replace or modify the
95 downloads
0 direct95 via packsSome older Unix-like systems, `mkstemp` would create temp files with 0666 permissions, meaning the file created would be read/write access for all users. Ensure the process has called the `umask` function with restricted permissions prior to calling `mkstemp` and validate the permissions prior to using the file descriptor. For more information on temporary f
95 downloads
0 direct95 via packsThe `mktemp` function should no longer be used due to multiple flaws. Some implementations created random files by using known information like the process ID and a single letter. This allows for possible race conditions where an attacker could guess or manipulate these files prior to them being used. Consider using the `mkstemp` function instead, but be awa
95 downloads
0 direct95 via packsThere exists a possible race condition in between the time that `tmpfile` returns a pathname, and the time that the program opens it, another program might create that pathname using `open`, or create it as a symbolic link. Consider using the `mkstemp` function instead, but be aware it also contains possible risks. Ensure the process has called the `umask` f
95 downloads
0 direct95 via packsThere exists a possible race condition in between the time that `tempnam` or `tmpnam` returns a pathname, and the time that the program opens it, another program might create that pathname using `open`, or create it as a symbolic link. Consider using the `mkstemp` function instead, but be aware it also contains possible risks. Ensure the process has called t
95 downloads
0 direct95 via packsThe `HttpOnly` attribute when set to `true` protects the cookie value from being accessed by client side JavaScript such as reading the `document.cookie` values. By enabling this protection, a website that is vulnerable to Cross-Site Scripting (XSS) will be able to block malicious scripts from accessing the cookie value from JavaScript. Example of protecting
95 downloads
0 direct95 via packsThe `Secure` attribute when set to `true` protects the cookie value from being being transmitted over clear text communication paths such as HTTP. By enabling this protection, the cookie will only be sent over HTTPS. Example of protecting an HttpCookie: ``` // Create an HttpOnly cookie. HttpCookie someCookie = new HttpCookie("SomeCookieName", "SomeValue"); s
95 downloads
0 direct95 via packsThe `ServicePointManager.ServerCertificateValidationCallback` event has been set to always return `true`, which effectively disables the validation of server certificates. This allows for an adversary who is in between the application and the target host to intercept potentially sensitive information or transmit malicious data. Remove the callback function t
95 downloads
0 direct95 via packsDES, TripleDES and RC2 are all considered broken or insecure cryptographic algorithms. If using .NET Framework greater than version 6.0 consider using `ChaCha20Poly1305` instead as it is easier and faster than the alternatives such as `AES-256-GCM`. For older applications, `AES-256-GCM` is recommended, however it has many drawbacks: - Slower than `ChaCha20Po
95 downloads
0 direct95 via packsCryptographic algorithms provide many different modes of operation, only some of which provide message integrity. Without message integrity it could be possible for an adversary to attempt to tamper with the ciphertext which could lead to compromising the encryption key. Newer algorithms apply message integrity to validate ciphertext has not been tampered wi
95 downloads
0 direct95 via packsBoth MD5 and SHA1 hash algorithms have been found to be vulnerable to producing collisions. This means that two different values, when hashed, can lead to the same hash value. If the application is trying to use these hash methods for storing passwords, then it is recommended to switch to a password hashing algorithm such as Argon2id or PBKDF2. Currently the
95 downloads
0 direct95 via packsDepending on the context, generating weak random numbers may expose cryptographic functions which rely on these numbers to be exploitable. When generating numbers for sensitive values such as tokens, nonces, and cryptographic keys, it is recommended that the `RandomNumberGenerator` class be used. Example `RandomNumberGenerator` usage: ``` Int32 randInt = Ran
95 downloads
0 direct95 via packsThe application failed to protect against Cross-Site Request Forgery (CSRF) due to not including the `[ValidateAntiForgeryToken]` attribute on an HTTP method handler that could change user state (usually in the form of POST or PUT methods). The vulnerability can be exploited by an adversary creating a link or form on a third party site and tricking an authen
95 downloads
0 direct95 via packsDeserialization attacks exploit the process of reading serialized data and turning it back into an object. By constructing malicious objects and serializing them, an adversary may attempt to: - Inject code that is executed upon object construction, which occurs during the deserialization process. - Exploit mass assignment by including fields that are not nor
95 downloads
0 direct95 via packsThe application may allow open redirects if created using user supplied input. Open redirects are commonly abused in phishing attacks where the original domain or URL looks like a legitimate link, but then redirects a user to a malicious site. An example would be `https://example.com/redirect?url=https://%62%61%64%2e%63%6f%6d%2f%66%61%6b%65%6c%6f%67%69%6e` w
95 downloads
0 direct95 via packsOS command injection is a critical vulnerability that can lead to a full system compromise as it may allow an adversary to pass in arbitrary commands or arguments to be executed. User input should never be used in constructing commands or command arguments to functions which execute OS commands. This includes filenames supplied by user uploads or downloads.
95 downloads
0 direct95 via packsLDAP injection attacks exploit LDAP queries to influence how data is returned by the LDAP, or in this case an Active Directory server. It is recommended that newer applications use the `System.DirectoryServices.AccountManagement` API instead of `DirectorySearcher` API as it hides the complexity of querying LDAP directly. However, the `AccountManagement` API
95 downloads
0 direct95 via packsSQL Injection is a critical vulnerability that can lead to data or system compromise. By dynamically generating SQL query strings, user input may be able to influence the logic of the SQL statement. This could lead to an adversary accessing information they should not have access to, or in some circumstances, being able to execute OS functionality or code. R
95 downloads
0 direct95 via packsExternal XML entities are a feature of XML parsers that allow documents to contain references to other documents or data. This feature can be abused to read files, communicate with external hosts, exfiltrate data, or cause a Denial of Service (DoS). XML parsers and document loaders must be configured to not resolve entities. This can be done by: - Ensuring y
95 downloads
0 direct95 via packsExternal XML entities are a feature of XML parsers that allow documents to contain references to other documents or data. This feature can be abused to read files, communicate with external hosts, exfiltrate data, or cause a Denial of Service (DoS). XML parsers and document loaders must be configured to not resolve entities. This can be done by: - Ensuring y
95 downloads
0 direct95 via packsXPath injection is a vulnerability that can allow an adversary to inject or modify how an XML query is structured. Depending on the logic of the original query, this could lead to adversaries extracting unauthorized information or in rare cases bypassing authorization checks. It is recommended that LINQ to XML is used instead of XPath for querying XML docume
95 downloads
0 direct95 via packsBy setting `XsltSettings.EnableScript` to true, an adversary who is able to influence the loaded XSL document could directly inject code to compromise the system. It is strongly recommended that an alternative approach is used to work with XML data. For increased security: - Never process user-supplied XSL style sheets - Ensure `XsltSettings.EnableScript` is
95 downloads
0 direct95 via packsThe application's `PasswordValidator.RequiredLength` property allows passwords to be less than 8 characters. Consider requiring a length of at least 8 or more characters to reduce the chance of passwords being brute forced. Example of setting the RequiredLength to 8 in ASP.NET Core Identity: ``` builder.Services.Configure<IdentityOptions>(options => { // Def
95 downloads
0 direct95 via packsThe application dynamically constructs file or path information. If the path information comes from user input, it could be abused to read sensitive files, access other users data, or aid in exploitation to gain further system access. User input should never be used in constructing paths or files for interacting with the filesystem. This includes filenames s
95 downloads
0 direct95 via packsBy using the `[ValidateInput(false)]` attribute in a controller class, the application will disable request validation for that method. This disables ASP.NET from examining requests for injection attacks such as Cross-Site-Scripting (XSS). If possible, re-enable validation by using `ValidateInput(true)`. In some cases this may not be possible, in which case
95 downloads
0 direct95 via packsCross Site Scripting (XSS) is an attack which exploits a web application or system to treat user input as markup or script code. It is important to encode the data depending on the specific context it is used in. There are at least six context types: - Inside HTML tags `<div>context 1</div>` - Inside attributes: `<div class="context 2"></div>` - Inside event
95 downloads
0 direct95 via packsCross Site Scripting (XSS) is an attack which exploits a web application or system to treat user input as markup or script code. It is important to encode the data depending on the specific context it is used in. User input that is used within the application scripts must be encoded, sanitized or validated to ensure it cannot change the behavior of the Javas
95 downloads
0 direct95 via packsThe DES algorithm has not been recommended for over 15 years and was withdrawn from NIST (FIPS 46-3) in 2005. It is recommended that an algorithm that provides message integrity be used instead. Consider using `XChaCha20Poly1305` or `AES-256-GCM`. For older applications, `AES-256-GCM` is recommended, however it has many drawbacks: - Slower than `XChaCha20Pol
96 downloads
0 direct96 via packsThe MD5 message-digest algorithm has been cryptographically broken and is unsuitable for further use. The MD5 hash algorithm has been found to be vulnerable to producing collisions. This means that two different values, when hashed, can lead to the same hash value. It is recommended that the SHA-3 or BLAKE2 family of algorithms be used for non-password based
96 downloads
0 direct96 via packsThe RC4 stream-cipher has been cryptographically broken and is unsuitable for use in production. It is recommended that ChaCha20 or Advanced Encryption Standard (AES) be used instead. Consider using `XChaCha20Poly1305` or `AES-256-GCM`. For older applications, `AES-256-GCM` is recommended, however it has many drawbacks: - Slower than `XChaCha20Poly1305` - Sm
96 downloads
0 direct96 via packsThe SHA-1 message-digest algorithm has been cryptographically broken and is unsuitable for further use. It is recommended that the SHA-3, or BLAKE2 family of algorithms be used for non-password based cryptographic hashes instead. For password based cryptographic hashes, consider using the bcrypt or Argon2id family of cryptographic hashes. Hashing values usin
96 downloads
0 direct96 via packsUsage of a cryptographically insecure cipher suite has been detected. It is recommended that alternative ciphers be used instead. It is strongly recommended that all TLS connections use TLS 1.3 as Go will automatically choose the most secure cipher when negotiating the TLS handshake with client or servers. TLS 1.3 cipher suites are configured to require Perf
96 downloads
0 direct96 via packsThe application was found to ignore host keys. Host keys are important as they provide assurance that the client can prove that the host is trusted. By ignoring these host keys, it is impossible for the client to validate the connection is to a trusted host. For the `ssh.ClientConfig` `HostKeyCallback` property, consider using the [knownhosts](https://pkg.go
96 downloads
0 direct96 via packsTLS versions 1.1 and 1.0 were deprecated by the IETF in June 2018 due to a number of attacks against the vulnerable versions. Use of a deprecated TLS version may result in the unauthorized retrieval of sensitive information. It is strongly recommended that all TLS connections use TLS 1.3 as Go will automatically choose the most secure cipher when negotiating
96 downloads
0 direct96 via packsThe application is generating an RSA key that is less than the recommended 2048 bits. The National Institute of Standards and Technology (NIST) deprecated signing Digital Certificates that contained RSA Public Keys of 1024 bits in December 2010. While 1024-bit RSA keys have not been factored yet, advances in compute may make it possible in the near future. T
96 downloads
0 direct96 via packsGo's `math/rand` is not meant for use in generating random numbers for any cryptographic or security sensitive context. This includes generating random numbers that could be used in user specific identifiers or where the random number that is generated is considered to be secret. Replace all imports of `math/rand` with `crypto/rand`.
96 downloads
0 direct96 via packsThe application was found setting file permissions to overly permissive values. Consider using the following values if the application user is the only process to access the file: - 0400 - read only access to the file - 0200 - write only access to the file - 0600 - read/write access to the file Example creating a file with read/write permissions for the appl
96 downloads
0 direct96 via packsThe application was found setting directory permissions to overly permissive values. Consider using the following values if the application user is the only process to access files in the directory specified: - 0700 - read/write access to the files in the directory Another common value is `0750` which allows the application user read/write access and group u
96 downloads
0 direct96 via packsDirectly decompressing files or buffers may lead to a potential Denial of Service (DoS) due to a decompression bomb. Decompression bombs are maliciously compressed files or data that decompresses to extremely large sizes. This can cause the process to run out of memory, or the disk to fill up. To protect against decompression bombs, an [io.LimitReader(...)](
96 downloads
0 direct96 via packsThe application dynamically constructs file or path information. If the path information comes from user input, it could be abused to read sensitive files, access other users data or aid in exploitation to gain further system access. User input should never be used in constructing paths or files for interacting with the filesystem. This includes filenames su
96 downloads
0 direct96 via packsThe application is potentially exposing the entire filesystem by mounting the root directory `/` to an HTTP handler function. Anyone who is able to access this HTTP server may be able to access any file that the HTTP server has access to. Restrict the `http.Dir` path to only a specific folder instead of the entire filesystem. Example server only allowing dir
96 downloads
0 direct96 via packsThe application was found setting file permissions to overly permissive values. Consider using the following values if the application user is the only process to access the file: - 0400 - read only access to the file - 0200 - write only access to the file - 0600 - read/write access to the file Example writing file contents with read/write permissions for th
96 downloads
0 direct96 via packsThe application was found creating files in shared system temporary directories (`/tmp` or `/var/tmp`) without using the `os.CreateTemp` function. Depending on how the application uses this temporary file, an attacker may be able to create symlinks that point to other files prior to the application creating or writing to the target file, leading to unintende
96 downloads
0 direct96 via packsThe application may be vulnerable to a path traversal if it extracts untrusted archive files. This vulnerability is colloquially known as 'Zip Slip'. Archive files may contain folders which, when extracted, may write outside of the intended directory. This is exploited by including path traversal characters such as `../../other/directory` to overwrite or pla
96 downloads
0 direct96 via packsGo's `net/http` serve functions may be vulnerable to resource consumption attacks if timeouts are not properly configured prior to starting the HTTP server. An adversary may open up thousands of connections but never complete sending all data, or never terminate the connections. This may lead to the server no longer accepting new connections. To protect agai
96 downloads
0 direct96 via packsServer-Side-Request-Forgery (SSRF) exploits backend systems that initiate requests to third parties. If user input is used in constructing or sending these requests, an attacker could supply malicious data to force the request to other systems or modify request data to cause unwanted actions. Ensure user input is not used directly in constructing URLs or URI
96 downloads
0 direct96 via packsCross Site Scripting (XSS) is an attack which exploits a web application or system to treat user input as markup or script code. It is important to encode the data depending on the specific context it is used in. There are at least six context types: - Inside HTML tags `<div>context 1</div>` - Inside attributes: `<div class="context 2"></div>` - Inside event
96 downloads
0 direct96 via packsGo has a built in profiling service that is enabled by starting an HTTP server with `net/http/pprof` imported. The `/debug/pprof` endpoint does not require any authentication and can be accessed by anonymous users. This profiling endpoint can leak sensitive information and should not be enabled in production. To remediate this, remove the `net/http/pprof` im
96 downloads
0 direct96 via packsGolang's `int` type size depends on the architecture of where the application is running. For 32-bit systems, `int` is 32-bit, for 64-bit systems, `int` will be 64-bit. By calling `strconv.Atoi` with a large number, the integer may overflow if the `int` return value is type converted into a smaller type (`int32` or `int16`). This could cause unexpected appli
96 downloads
0 direct96 via packsGo's `for ... range` statements create an iteration variable for each iteration of the loop. By taking the address of this iteration variable, the value of the address will be re-used and always point to the same location in memory. This can have unexpected behavior if the address is stored or re-used. This can be fixed by: - Not referencing the address of t
96 downloads
0 direct96 via packsBinding to all network interfaces can potentially open up a service to traffic on unintended interfaces, that may not be properly documented or secured. By passing "0.0.0.0" as the address to the `Listen` family of functions, the application will bind to all interfaces. Consider passing in the interface ip address through an environment variable, configurati
96 downloads
0 direct96 via packsSQL Injection is a critical vulnerability that can lead to data or system compromise. By dynamically generating SQL query strings, user input may be able to influence the logic of the SQL statement. This could lead to an adversary accessing information they should not have access to or in some circumstances, being able to execute OS functionality or code. Re
96 downloads
0 direct96 via packsOS command injection is a critical vulnerability that can lead to a full system compromise as it may allow an adversary to pass in arbitrary commands or arguments to be executed. User input should never be used in constructing commands or command arguments to functions which execute OS commands. This includes filenames supplied by user uploads or downloads.
96 downloads
0 direct96 via packsThe `unsafe` package in Go allows low-level access to memory management features. This includes pointers and direct access to memory. The Go compiler will no longer be able to enforce type safety when working with the `unsafe` pointer types. While powerful, access to these functions can lead to many security related issues such as: - [Buffer overflows](https
96 downloads
0 direct96 via packsThe `Secure` attribute when set to `true` protects the cookie value from being being transmitted over clear text communication paths such as HTTP. By enabling this protection, the cookie will only be sent over HTTPS. Example of protecting a `Cookie`: ``` // Create an Secure cookie. Cookie someCookie = new Cookie("SomeCookieName", "SomeValue"); // Set Secure
97 downloads
0 direct97 via packsHTTP Response Splitting is a vulnerability where Carriage Return (CR `\r`) and Line Feed (LF `\n`) characters are introduced into an HTTP header from user-supplied input. By injecting the `\r\n` character sequence, an adversary could potentially modify how the response is interpreted by the client or any downstream caching services. This could allow an adver
97 downloads
0 direct97 via packsHTTP Response Splitting is a vulnerability where Carriage Return (CR `\r`) and Line Feed (LF `\n`) characters are introduced into an HTTP header from user-supplied input. By injecting the `\r\n` character sequence, an adversary could potentially modify how the response is interpreted by the client or any down stream caching services. This could allow an adve
97 downloads
0 direct97 via packsThis application potentially allows user-supplied input into the value of the `Access-Control-Allow-Origin` response header. This header is part of the [Cross-Origin Resource Sharing](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) CORS specification. By allowing user input to specify which domains can communicate with this server, an adversary could
97 downloads
0 direct97 via packsThe Blowfish encryption algorithm was meant as a drop-in replacement for DES and was created in 1993. Smaller key sizes may make the ciphertext vulnerable to [birthday attacks](https://en.wikipedia.org/wiki/Birthday_attack). While no known attacks against Blowfish exist, it should never be used to encrypt files over 4GB in size. If possible consider using AE
97 downloads
0 direct97 via packsDES, TripleDES and RC2 are all considered broken or insecure cryptographic algorithms. Newer algorithms apply message integrity to validate ciphertext has not been tampered with. Consider using `ChaCha20Poly1305` instead as it is easier and faster than the alternatives such as `AES-256-GCM`. For older applications that don't have support for `ChaCha20Poly130
97 downloads
0 direct97 via packsDES, TripleDES and RC2 are all considered broken or insecure cryptographic algorithms. Newer algorithms apply message integrity to validate ciphertext has not been tampered with. Consider using `ChaCha20Poly1305` instead as it is easier and faster than the alternatives such as `AES-256-GCM`. For older applications that don't have support for `ChaCha20Poly130
97 downloads
0 direct97 via packsCryptographic algorithms provide many different modes of operation, only some of which provide message integrity. Without message integrity it could be possible for an adversary to attempt to tamper with the ciphertext which could lead to compromising the encryption key. Newer algorithms apply message integrity to validate ciphertext has not been tampered wi
97 downloads
0 direct97 via packsCryptographic algorithms provide many different modes of operation, only some of which provide message integrity. Without message integrity it could be possible for an adversary to attempt to tamper with the ciphertext which could lead to compromising the encryption key. Newer algorithms apply message integrity to validate ciphertext has not been tampered wi
97 downloads
0 direct97 via packsCryptographic block ciphers can be configured to pad individual blocks if there is not enough input data to match the size of the block. This specific mode of CBC used in combination with PKCS5Padding is susceptible to padding oracle attacks. An adversary could potentially decrypt the message if the system exposed the difference between plaintext with invali
97 downloads
0 direct97 via packsThe application was found implementing a custom `java.security.MessageDigest`. It is strongly recommended that a standard Digest algorithm be chosen instead as implementing a digest by hand is error-prone. The National Institute of Standards and Technology (NIST) recommends the use of SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, or SHA-512/256. Example o
97 downloads
0 direct97 via packsThe network communications for Hazelcast is configured to use a deprecated symmetric cipher. Consider using TLS/SSL when establishing communications across the Hazelcast cluster. For more information on configuring TLS/SSL for Hazelcast see: https://docs.hazelcast.com/imdg/4.2/security/tls-ssl
97 downloads
0 direct97 via packsThe application is generating an RSA key that is less than the recommended 2048 bits. The National Institute of Standards and Technology (NIST) deprecated signing Digital Certificates that contained RSA Public Keys of 1024 bits in December 2010. While 1024-bit RSA keys have not been factored yet, advances in compute may make it possible in the near future. C
97 downloads
0 direct97 via packsThe application was found creating a `NullCipher` instance. `NullCipher` implements the `Cipher` interface by returning ciphertext identical to the supplied plaintext. This means any data passed to the `doFinal(...)` or `update(...)` methods will not actually encrypt the input. Remove the NullCipher reference and replace with a legitimate `Cipher` instance s
97 downloads
0 direct97 via packsThe software uses the RSA algorithm but does not incorporate Optimal Asymmetric Encryption Padding (OAEP). By not enabling padding, the algorithm maybe vulnerable to [chosen plaintext attacks](https://en.wikipedia.org/wiki/Chosen-plaintext_attack). To enable OAEP mode, pass `RSA/ECB/OAEPWithSHA-256AndMGF1Padding` to the `Cipher.getInstance` method. Example e
97 downloads
0 direct97 via packsThe application was found using an insecure or risky digest or signature algorithm. Both MD5 and SHA1 hash algorithms have been found to be vulnerable to producing collisions. This means that two different values, when hashed, can lead to the same hash value. If the application is trying to use these hash methods for storing passwords, then it is recommended
97 downloads
0 direct97 via packsThe `org.apache.http.impl.client.DefaultHttpClient` does not verify the hostnames upon connection. This allows for an adversary who is in between the application and the target host to intercept potentially sensitive information or transmit malicious data. Do not use the `org.apache.http.impl.client.DefaultHttpClient();` as it is deprecated. Instead use the
97 downloads
0 direct97 via packsAvoid initializing SSLContext with insecure protocols like `SSL`, `SSLv2`, or `SSLv3`. These protocols are outdated and do not validate certificates by default. Additionally, these older `SSL` versions have many known security issues. Instead, use secure protocols like `TLSv1.2` or `TLSv1.3`. ``` SSLContext context = SSLContext.getInstance("TLSv1.3"); ``` Fo
97 downloads
0 direct97 via packsThe application was found enabling insecure TLS protocol versions. When enabling protocol versions for an `SSLContext`, only the following versions should be allowed: - TLSv1.2 - TLSv1.3 - DTLSv1.2 - DTLSv1.3 To mitigate potential security risks, it is strongly advised to enforce TLS 1.2 as the minimum protocol version and disallow older versions such as TLS
97 downloads
0 direct97 via packsThe `HostnameVerifier` has been set to always return `true`. This effectively disables the validation of server or client certificates. This could allow an adversary who is in between the application and the target host to launch a Man in the middle attack (MITM) i.e intercept potentially sensitive information or inject malicious content into the communicati
97 downloads
0 direct97 via packsUnvalidated redirects occur when an application redirects a user to a destination URL specified by a user supplied parameter that is not validated. Such vulnerabilities can be used to facilitate phishing attacks. To avoid open redirect vulnerabilities in Java, one effective strategy is to only allow redirection to URLs that are pre-defined in a safe list. Th
97 downloads
0 direct97 via packsThe `X509TrustManager` has been configured to return null. This effectively disables the validation of server or client certificates. This could allow an adversary who is in between the application and the target host to launch a Man in the middle attack (MITM) i.e intercept potentially sensitive information or inject malicious content into the communication
97 downloads
0 direct97 via packsThe filename provided by the FileUpload API can be tampered with by the client to reference unauthorized files. The provided filename should be properly validated to ensure it's properly structured, contains no unauthorized path characters (e.g., / \), and refers to an authorized file. The application was found to take a parameter from user input to construc
97 downloads
0 direct97 via packsThe filename provided by the FileUpload API can be tampered with which could lead to unauthorized access or file inclusion vulnerabilities. To mitigate this risk, it is essential to conduct rigorous validation of the filenames provided by clients. This validation should ensure that the filename adheres to a predefined structure, is devoid of potentially dang
97 downloads
0 direct97 via packsOS command injection is a critical vulnerability that can lead to a full system compromise as it may allow an adversary to pass in arbitrary commands or arguments to be executed. User input should never be used in constructing commands or command arguments to functions which execute OS commands. This includes filenames supplied by user uploads or downloads.
97 downloads
0 direct97 via packsThis rule identifies potential Expression Language (EL) injection vulnerabilities within Java applications. The rule targets use of `createValueExpression`, `createMethodExpression`, `ELProcessor.eval`, `getValue`, and `setValue` methods, particularly when input to these methods is not a hardcoded string, indicating dynamic evaluation of potentially untruste
97 downloads
0 direct97 via packsThe `HttpRequest.getRequestDispatcher()`'s `include` and `forward` methods will return any file that is resolvable within the web application context. This includes the `web.xml` file, any compiled classes, `jsp` files, and additional JAR or WAR libraries that are accessible. Never pass user-supplied input directly to any of these methods. Use a lookup table
97 downloads
0 direct97 via packsThe `org.springframework.web.servlet.ModelAndView` class may potentially allow access to restricted files if called with user-supplied input. The ModelAndView class looks up a view by name to resolve a `.jsp` file. If this view name comes from user-supplied input, it could be abused to attempt to return a JSP view that the user should not have access to. Use
97 downloads
0 direct97 via packsThe application was found including unvalidated user input into a URL, which could lead to HTTP Parameter Pollution (HPP) or worse, Server Side Request Forgery (SSRF). This could allow an adversary to override the value of a URL or a request parameter. HTTP Parameter Pollution (HPP) attacks consist of injecting encoded query string delimiters into other exis
97 downloads
0 direct97 via packsLDAP injection attacks exploit LDAP queries to influence how data is returned by the LDAP server. Later versions of Java's `InitialDirContext.search` introduced a four argument method, one of which is the `filterArg` parameter. The `filterArg` will be automatically encoded when querying the LDAP server. If this method signature is not available, the applicat
97 downloads
0 direct97 via packsThe Object Graph Navigation Language (OGNL) is an expression language that allows access to Java objects and properties stored in an ActionContext. Usage of these low-level functions is discouraged because they can effectively execute strings as code, leading to remote code execution vulnerabilities. Consider using struts tags when processing user-supplied i
97 downloads
0 direct97 via packsThe application dynamically constructs file or path information. If the path information comes from user input, it could be abused to read sensitive files, access other users' data, or aid in exploitation to gain further system access. User input should never be used in constructing paths or files for interacting with the filesystem. This includes filenames
97 downloads
0 direct97 via packsThe application does not provide authentication when communicating an LDAP server. It is strongly recommended that the LDAP server be configured with authentication and restrict what queries users can execute. Example code that authenticates with a remote LDAP server and encodes any user-supplied input: ``` // Create a properties to hold the ldap connection
97 downloads
0 direct97 via packsA potential hard-coded password was identified in a database connection string. Passwords should not be stored directly in code but loaded from secure locations such as a Key Management System (KMS). The purpose of using a Key Management System is so access can be audited and keys easily rotated in the event of a breach. By hardcoding passwords, it will be e
97 downloads
0 direct97 via packsThe application does not provide authentication when communicating a database server. It is strongly recommended that the database server be configured with authentication and restrict what queries users can execute. Please see your database server's documentation on how to configure a password. Additionally, passwords should not be stored directly in code b
97 downloads
0 direct97 via packsA potential hard-coded password was identified in a hard-coded string. Passwords should not be stored directly in code but loaded from secure locations such as a Key Management System (KMS). The purpose of using a Key Management System is so access can be audited and keys easily rotated in the event of a breach. By hardcoding passwords, it will be extremely
97 downloads
0 direct97 via packsThe application was found to permit the `RuntimePermission` of `createClassLoader`, `ReflectPermission` of `suppressAccessChecks`, or both. By granting the `RuntimePermission` of `createClassLoader`, a compromised application could instantiate their own class loaders and load arbitrary classes. By granting the `ReflectPermission` of `suppressAccessChecks` an
97 downloads
0 direct97 via packsThe application was found setting file permissions to overly permissive values. Consider using the following values if the application user is the only process to access the file: - `r--` - read only access to the file - `w--` - write only access to the file - `rw-` - read/write access to the file Example setting read/write permissions for only the owner of
97 downloads
0 direct97 via packsThe application executes an argument using a `ScriptEngine`'s `eval` method. This may allow for direct OS commands to be executed as it's possible to pass in strings such as `java.lang.Runtime.getRuntime().exec('/bin/sh ...');`. Never pass user-supplied input directly to the `eval` function. If possible hardcode all JavasScript code or use a lookup table to
97 downloads
0 direct97 via packsThe application was found calling SpringFramework's `SpelExpressionParser.parseExpression`. Calling this method directly with user-supplied input may allow an adversary to execute arbitrary Java code including OS system commands. Never call `parseExpression` or `parseRaw` directly with user-supplied input. Consider alternate methods such as a lookup table to
97 downloads
0 direct97 via packsThe Apache commons mail client by default does not enable TLS server identity. This allows for an adversary who is in between the application and the target host to intercept potentially sensitive information or transmit malicious data. Enable checking server identity by calling `Email.setSSLCheckServerIdentity(true)` Example email client that enables TLS an
97 downloads
0 direct97 via packsThe application was found calling `MimeMessage` methods without encoding new line characters. Much like HTTP, Simple Mail Transfer Protocol (SMTP) is a text based protocol that uses headers to convey additional directives for how email messages should be treated. An adversary could potentially cause email messages to be sent to unintended recipients by abusi
97 downloads
0 direct97 via packsServer-Side-Request-Forgery (SSRF) exploits backend systems that initiate requests to third parties. If user input is used in constructing or sending these requests, an attacker could supply malicious data to force the request to other systems or modify request data to cause unwanted actions. Ensure user input is not used directly in constructing URLs or URI
97 downloads
0 direct97 via packsThe application is using `Integer.toHexString` on a digest array buffer which may lead to an incorrect version of values. Consider using the `java.util.HexFormat` object introduced in Java 17. For older Java applications consider using the `javax.xml.bind.DatatypeConverter`. Example using `HexFormat` to create a human-readable string: ``` // Create a Message
97 downloads
0 direct97 via packsThe application allows user input to control format string parameters. By passing invalid format string specifiers an adversary could cause the application to throw exceptions or possibly leak internal information depending on application logic. Never allow user-supplied input to be used to create a format string. Replace all format string arguments with har
97 downloads
0 direct97 via packsThe application was found matching a variable during a regular expression pattern match, and then calling string modification functions after validation has occurred. This is usually indicative of a poor input validation strategy as an adversary may attempt to exploit the removal of characters. For example a common mistake in attempting to remove path charac
97 downloads
0 direct97 via packsThe application was found matching a variable during a regular expression pattern match, and then calling a Unicode normalize function after validation has occurred. This is usually indicative of a poor input validation strategy as an adversary may attempt to exploit the normalization process. To remediate this issue, always perform Unicode normalization bef
97 downloads
0 direct97 via packsThe application may allow control over a template string. Providing user input directly in the template by dynamically creating template strings may allow an adversary to execute arbitrary Java code, including OS system commands. For Velocity, never call `evaluate` with user-supplied input in the template string. Use a `VelocityContext` object instead to dat
97 downloads
0 direct97 via packsThe application was found using user-supplied input in a `java.sql.Connection`'s `setCatalog` call. This could allow an adversary to supply a different database for the lifetime of the connection. Allowing external control of system settings can disrupt service or cause an application to behave in unexpected, and potentially malicious ways. Most likely this
97 downloads
0 direct97 via packsSAML parses attestations as an XML document. By processing XML comments, comment fields can end up modifying the interpretation of input fields. This could allow an adversary to insert an XML comment to break up the attestation's username or other fields, allowing an attacker to bypass authorization or authentication checks. To remediate this issue, when usi
97 downloads
0 direct97 via packsDeserialization attacks exploit the process of reading serialized data and turning it back into an object. By constructing malicious objects and serializing them, an adversary may attempt to: - Inject code that is executed upon object construction, which occurs during the deserialization process. - Exploit mass assignment by including fields that are not nor
97 downloads
0 direct97 via packsThe application performs XSLT translation with potentially malicious input. An adversary who is able to influence the loaded XSL document could call XSL functions or exploit External XML Entity (XXE) attacks that allow file retrieval or force the parser to connect to arbitrary servers to exfiltrate files. It is strongly recommended that an alternative approa
97 downloads
0 direct97 via packsThe application is disabling Wicket's string escaping functionality by calling `setEscapeModelStrings(false)`. This could lead to Cross Site Scripting (XSS) if used with user-supplied input. XSS is an attack which exploits a web application or system to treat user input as markup or script code. It is important to encode the data depending on the specific co
97 downloads
0 direct97 via packsThe application is returning user-supplied data from an HTTP request directly into an HTTP response output writer. This could lead to Cross Site Scripting (XSS) if the input were malicious script code and the application server is not properly validating the output. XSS is an attack which exploits a web application or system to treat user input as markup or
97 downloads
0 direct97 via packsExternal XML entities are a feature of XML parsers that allow documents to contain references to other documents or data. This feature can be abused to read files, communicate with external hosts, exfiltrate data, or cause a Denial of Service (DoS). The XMLReaderFactory has been deprecated. It is recommended that [SAXParserFactory](https://docs.oracle.com/ja
97 downloads
0 direct97 via packsThe application is using Buffer API methods with the `noAssert` parameter set to `true` for the read buffer methods. This disables the bounds checking and could result in reading beyond the end of the buffer, leading to potential memory corruption and security vulnerabilities. When `noAssert` is set to `true`, the methods do not perform bounds checking, allo
102 downloads
0 direct102 via packsThe application is using Buffer API methods with the `noAssert` parameter set to `true` for the write buffer methods. This disables the bounds checking and could result in writing beyond the end of the buffer, leading to potential memory corruption and security vulnerabilities. When `noAssert` is set to `true`, the methods do not perform bounds checking, all
102 downloads
0 direct102 via packsThe application was found calling the `new Buffer` constructor which has been deprecated since Node 8. By passing in a non-literal value, an adversary could allocate large amounts of memory. Other issues also exist with the `Buffer` constructor: - Older versions would return uninitialized memory, which could contain sensitive information - Unable to easily d
102 downloads
0 direct102 via packsThe `RegExp` constructor was called with a non-literal value. If an adversary were able to supply a malicious regex, they could cause a Regular Expression Denial of Service (ReDoS) against the application. In Node applications, this could cause the entire application to no longer be responsive to other users' requests. To remediate this issue, never allow us
102 downloads
0 direct102 via packsThe application was found calling the `eval` function OR Function() constructor OR setTimeout() OR setInterval() methods. If the variables or strings or functions passed to these methods contains user-supplied input, an adversary could attempt to execute arbitrary JavaScript code. This could lead to a full system compromise in Node applications or Cross-site
102 downloads
0 direct102 via packsDepending on the context, generating weak random numbers may expose cryptographic functions, which rely on these numbers, to be exploitable. When generating numbers for sensitive values such as tokens, nonces, and cryptographic keys, it is recommended that the `randomBytes` method of the `crypto` module be used instead of `pseudoRandomBytes`. Example using `
102 downloads
0 direct102 via packsThe application was found calling `dangerouslySetInnerHTML` which may lead to Cross Site Scripting (XSS). By default, React components will encode the data properly before rendering. Calling `dangerouslySetInnerHTML` disables this encoding and allows raw markup and JavaScript to be executed. XSS is an attack which exploits a web application or system to trea
102 downloads
0 direct102 via packsThe application was found to dynamically import a module by calling `require` using a non-literal string. An adversary might be able to read the first line of arbitrary files. If they had write access to the file system, they may also be able to execute arbitrary code. To remediate this issue, use a hardcoded string literal when calling `require`. Never call
102 downloads
0 direct102 via packsThe application was found executing string comparisons using one of `===`, `!==`, `==` or `!=` against security sensitive values. String comparisons like this are not constant time, meaning the first character found not to match in the two strings will immediately exit the conditional statement. This allows an adversary to calculate or observe small timing d
102 downloads
0 direct102 via packsMarkup escaping disabled. This can be used with some template engines to escape disabling of HTML entities, which can lead to XSS attacks.
102 downloads
0 direct102 via packsThe application was found using `assert` in non-test code. Usually reserved for debug and test code, the `assert` function is commonly used to test conditions before continuing execution. However, enclosed code will be removed when compiling Python code to optimized byte code. Depending on the assertion and subsequent logic, this could lead to undefined beha
96 downloads
0 direct96 via packsBinding to all network interfaces can potentially open up a service to traffic on unintended interfaces, that may not be properly documented or secured. By passing "0.0.0.0", "::" or an empty string as the address to the `socket.bind` function, the application will bind to all interfaces. Consider passing in the interface ip address through an environment va
96 downloads
0 direct96 via packsCryptographic algorithms provide many different modes of operation, only some of which provide message integrity. Without message integrity it could be possible for an adversary to attempt to tamper with the ciphertext which could lead to compromising the encryption key. Newer algorithms apply message integrity to validate ciphertext has not been tampered wi
96 downloads
0 direct96 via packsThe Blowfish encryption algorithm was meant as a drop-in replacement for DES and was created in 1993. Smaller key sizes may make the ciphertext vulnerable to [birthday attacks](https://en.wikipedia.org/wiki/Birthday_attack). While no known attacks against Blowfish exist, it should never be used to encrypt files over 4GB in size. If possible consider using Ch
96 downloads
0 direct96 via packsDES, TripleDES, RC2 and RC4 are all considered broken or insecure cryptographic algorithms. Newer algorithms apply message integrity to validate ciphertext has not been tampered with. Consider using `ChaCha20Poly1305` instead as it is easier and faster than the alternatives such as `AES-256-GCM`. For older applications that don't have support for `ChaCha20Po
96 downloads
0 direct96 via packsDES, TripleDES, RC2 and RC4 are all considered broken or insecure cryptographic algorithms. Newer algorithms apply message integrity to validate ciphertext has not been tampered with. Consider using `ChaCha20Poly1305` instead as it is easier and faster than the alternatives such as `AES-256-GCM`. For older applications that don't have support for `ChaCha20Po
96 downloads
0 direct96 via packsDES, TripleDES, RC2 and RC4 are all considered broken or insecure cryptographic algorithms. Newer algorithms apply message integrity to validate ciphertext has not been tampered with. Consider using `ChaCha20Poly1305` instead as it is easier and faster than the alternatives such as `AES-256-GCM`. For older applications that don't have support for `ChaCha20Po
96 downloads
0 direct96 via packsThe application was found using the `xor` algorithm, which can be trivially decoded. Newer algorithms apply message integrity to validate ciphertext has not been tampered with. Consider using `ChaCha20Poly1305` instead as it is easier and faster than the alternatives such as `AES-256-GCM`. For older applications that don't have support for `ChaCha20Poly1305`
96 downloads
0 direct96 via packsThe application is generating an RSA key that is less than the recommended 2048 bits. The National Institute of Standards and Technology (NIST) deprecated signing Digital Certificates that contained RSA Public Keys of 1024 bits in December 2010. While 1024-bit RSA keys have not been factored yet, advances in compute may make it possible in the near future. C
96 downloads
0 direct96 via packsThe application was found using an insufficient curve size for the Elliptical Cryptography (EC) asymmetric algorithm. NIST recommends using a key size of 224 or greater. To remediate this issue, replace the current key size with `ec.SECP384R1`, Example using `ec.SECP384R1`: ``` from cryptography.hazmat.primitives.asymmetric import ec # Generate an EC private
96 downloads
0 direct96 via packsThe application was found using an insecure or risky digest or signature algorithm. MD5 and SHA1 hash algorithms have been found to be vulnerable to producing collisions. This means that two different values, when hashed, can lead to the same hash value. If the application is trying to use these hash methods for storing passwords, then it is recommended to s
96 downloads
0 direct96 via packsThe application was found using an insecure or risky digest or signature algorithm. MD5 and SHA1 hash algorithms have been found to be vulnerable to producing collisions. This means that two different values, when hashed, can lead to the same hash value. If the application is trying to use these hash methods for storing passwords, then it is recommended to s
96 downloads
0 direct96 via packsDES, TripleDES, RC2 and RC4 are all considered broken or insecure cryptographic algorithms. Newer algorithms apply message integrity to validate ciphertext has not been tampered with. Consider using `ChaCha20Poly1305` instead as it is easier and faster than the alternatives such as `AES-256-GCM`. For older applications that don't have support for `ChaCha20Po
96 downloads
0 direct96 via packsThe Blowfish encryption algorithm was meant as a drop-in replacement for DES and was created in 1993. Smaller key sizes may make the ciphertext vulnerable to [birthday attacks](https://en.wikipedia.org/wiki/Birthday_attack). While no known attacks against Blowfish exist, it should never be used to encrypt files over 4GB in size. If possible consider using Ch
96 downloads
0 direct96 via packsThe IDEA encryption algorithm was meant as a drop-in replacement for DES and was created in 1991. A number of [vulnerabilities and exploits](https://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm#Security) have been identified to work against IDEA and it is no longer recommended. If possible consider using ChaCha20Poly1305 or AES-GCM instead o
96 downloads
0 direct96 via packsThe application was found using an insecure or risky digest or signature algorithm. MD2, MD5 and SHA1 hash algorithms have been found to be vulnerable to producing collisions. This means that two different values, when hashed, can lead to the same hash value. If the application is trying to use these hash methods for storing passwords, then it is recommended
96 downloads
0 direct96 via packsThe application was found using an insecure or risky digest or signature algorithm. MD2, MD5 and SHA1 hash algorithms have been found to be vulnerable to producing collisions. This means that two different values, when hashed, can lead to the same hash value. If the application is trying to use these hash methods for storing passwords, then it is recommended
96 downloads
0 direct96 via packsThe application was found using an insecure or risky digest or signature algorithm. MD2, MD5 and SHA1 hash algorithms have been found to be vulnerable to producing collisions. This means that two different values, when hashed, can lead to the same hash value. If the application is trying to use these hash methods for storing passwords, then it is recommended
96 downloads
0 direct96 via packsThe application was found using an insecure or risky digest or signature algorithm. MD2, MD4, MD5 and SHA1 hash algorithms have been found to be vulnerable to producing collisions. This means that two different values, when hashed, can lead to the same hash value. If the application is trying to use these hash methods for storing passwords, then it is recomm
96 downloads
0 direct96 via packsThe application was found using an insecure or risky digest or signature algorithm. MD2, MD4, MD5 and SHA1 hash algorithms have been found to be vulnerable to producing collisions. This means that two different values, when hashed, can lead to the same hash value. If the application is trying to use these hash methods for storing passwords, then it is recomm
96 downloads
0 direct96 via packsThe application was found using an insecure or risky digest or signature algorithm. MD2, MD4, MD5 and SHA1 hash algorithms have been found to be vulnerable to producing collisions. This means that two different values, when hashed, can lead to the same hash value. If the application is trying to use these hash methods for storing passwords, then it is recomm
96 downloads
0 direct96 via packsThe application was found using an insecure or risky digest or signature algorithm. MD2, MD4, MD5 and SHA1 hash algorithms have been found to be vulnerable to producing collisions. This means that two different values, when hashed, can lead to the same hash value. If the application is trying to use these hash methods for storing passwords, then it is recomm
96 downloads
0 direct96 via packsThe application was detected importing `pycrypto`. This package has been deprecated as it contains security vulnerabilities. To remediate this issue, consider using the [cryptography](https://cryptography.io/) package instead.
96 downloads
0 direct96 via packsThe application was found using `cPickle` which is vulnerable to deserialization attacks. Deserialization attacks exploit the process of reading serialized data and turning it back into an object. By constructing malicious objects and serializing them, an adversary may attempt to: - Inject code that is executed upon object construction, which occurs during t
96 downloads
0 direct96 via packsThe application was found using `dill` which is vulnerable to deserialization attacks. Deserialization attacks exploit the process of reading serialized data and turning it back into an object. By constructing malicious objects and serializing them, an adversary may attempt to: - Inject code that is executed upon object construction, which occurs during the
96 downloads
0 direct96 via packsThe application was found using `dill` which is vulnerable to deserialization attacks. Deserialization attacks exploit the process of reading serialized data and turning it back into an object. By constructing malicious objects and serializing them, an adversary may attempt to: - Inject code that is executed upon object construction, which occurs during the
96 downloads
0 direct96 via packsThe application was found using `pickle` which is vulnerable to deserialization attacks. Deserialization attacks exploit the process of reading serialized data and turning it back into an object. By constructing malicious objects and serializing them, an adversary may attempt to: - Inject code that is executed upon object construction, which occurs during th
96 downloads
0 direct96 via packsThe application was found using `shelve` which is vulnerable to deserialization attacks as it calls `pickle` internally. Deserialization attacks exploit the process of reading serialized data and turning it back into an object. By constructing malicious objects and serializing them, an adversary may attempt to: - Inject code that is executed upon object cons
96 downloads
0 direct96 via packsThe application was found using an unsafe version of `yaml` load which is vulnerable to deserialization attacks. Deserialization attacks exploit the process of reading serialized data and turning it back into an object. By constructing malicious objects and serializing them, an adversary may attempt to: - Inject code that is executed upon object construction
96 downloads
0 direct96 via packsSQL Injection is a critical vulnerability that can lead to data or system compromise. By dynamically generating SQL query strings, user input may be able to influence the logic of the SQL statement. This could lead to an adversary accessing information they should not have access to, or in some circumstances, being able to execute OS functionality or code. R
96 downloads
0 direct96 via packsThe application was found using Jinja2 `Environment` without autoescaping enabled. If using in the context of HTML this could lead to Cross-Site Scripting (XSS) attacks when rendering with user-supplied input. Unfortunately, Jinja2 does not support context-aware escaping, meaning it is insufficient to protect against XSS for the various web contexts. It is i
96 downloads
0 direct96 via packsThe application was found using mako templates without `default_filters` being passed to the `Template` or `TemplateLookup` constructors. If using in the context of HTML, this could lead to Cross-Site Scripting (XSS) attacks when rendering with user-supplied input. Unfortunately, Jinja2 does not support context-aware escaping, meaning it is insufficient to p
96 downloads
0 direct96 via packsThe application was found calling the `eval` function with non-literal data. If the variable contains user-controlled data, either partially or fully, an adversary could compromise the entire system by executing arbitrary Python code. To remediate this issue, remove all calls to `eval` and consider alternative methods for executing the necessary business log
96 downloads
0 direct96 via packsThe application was found calling the `exec` function with a non-literal variable. If the variable comes from user-supplied input, an adversary could compromise the entire system by executing arbitrary python code. To remediate this issue, remove all calls to `exec` and consider alternative methods for executing the necessary business logic. There is almost
96 downloads
0 direct96 via packsDetected use of the wildcard character in a system call that spawns a shell. This subjects the wildcard to normal shell expansion, which can have unintended consequences if there exist any non-standard file names. For instance, a file named `-e sh script.sh` could cause issues when expanded by the shell and executed as a command. Consider using a different m
96 downloads
0 direct96 via packsStarting a process with a shell; seems safe, but may be changed in the future, consider rewriting without shell
96 downloads
0 direct96 via packsStarting a process with a shell; seems safe, but may be changed in the future, consider rewriting without shell
96 downloads
0 direct96 via packsFound dynamic content when spawning a process. This is dangerous if externaldata can reach this function call because it allows a malicious actor toexecute commands. Ensure no external data reaches here.
96 downloads
0 direct96 via packsPython possesses many mechanisms to invoke an external executable. However, doing so may present a security issue if appropriate care is not taken to sanitize any user provided or variable input. This plugin test is part of a family of tests built to check for process spawning and warn appropriately. Specifically, this test looks for the spawning of a subpro
96 downloads
0 direct96 via packsFound `subprocess` function `$FUNC` with `shell=True`. This is dangerous because this call will spawn the command using a shell process. Doing so propagates current shell settings and variables, which makes it much easier for a malicious actor to execute commands. Use `shell=False` instead.
96 downloads
0 direct96 via packssubprocess call - check for execution of untrusted input
96 downloads
0 direct96 via packsThe application was found setting file permissions to overly permissive values. Consider using the following values if the application user is the only process to access the file: - 0400 - read only access to the file - 0200 - write only access to the file - 0600 - read/write access to the file Example creating a file with read/write permissions for the appl
96 downloads
0 direct96 via packsThe application may be vulnerable to a path traversal if it extracts untrusted archive files. This vulnerability is colloquially known as 'Zip Slip'. Archive files may contain folders which, when extracted, may write outside of the intended directory. This is exploited by including path traversal characters such as `../../other/directory` to overwrite or pla
96 downloads
0 direct96 via packsThe Flask application is running with `debug=True` configured. By enabling this option, certain exceptions or errors could cause sensitive information to be leaked in HTTP responses. Additionally, it is not recommended to run a Flask application using `Flask.run(...)` in production. Instead, a WSGI server such as [gunicorn](https://flask.palletsprojects.com/
96 downloads
0 direct96 via packsThe application was found using an FTP library. As FTP does not provide encryption, it is strongly recommended that any file transfers be done over a more secure transport such as SSH. The [paramiko](https://www.paramiko.org/) library can be used with an SCP module to allow secure file transfers. Example using `paramiko` SSH client and the `scp` module: ```
96 downloads
0 direct96 via packsThe application was found calling the `logging.config.listen`` function, which provides the ability to listen for external configuration files over a socket server. This listen socket parses part of the configuration and calls `eval` on the supplied configuration file. A local user, or an adversary who is able to exploit a Server Side Request Forgery (SSRF)
96 downloads
0 direct96 via packsDepending on the context, generating weak random numbers may expose cryptographic functions, which rely on these numbers, to be exploitable. When generating numbers for sensitive values such as tokens, nonces, and cryptographic keys, it is recommended that the `secrets` module be used instead. Example using the secrets module: ``` import secrets # Generate a
96 downloads
0 direct96 via packsThe application was found using the `requests` module without configuring a timeout value for connections. This could lead to uncontrolled resource consumption where the application could run out of socket descriptors, effectively causing a Denial of Service (DoS). To remediate this issue, pass in a `timeout=` argument to each `requests` call. Example using
96 downloads
0 direct96 via packsPysnmp was detected using versions SNMPv1 or SNMPv2. SNPMv1 and SNMPv2 are insecure and should no longer be used as they do not offer encryption. If possible, query SNMP devices using SNMPv3 instead. Example querying a device using SNMPv3 with SHA-AES: ``` from pysnmp.hlapi import * # Create the snpm iterator iterator = getCmd( SnmpEngine(), # Configure usin
96 downloads
0 direct96 via packsPysnmp was detected using SNMPv3 without authentication or encryption protections enabled. - Use of `usmNoAuthProtocol` or `usmNoPrivProtocol` indicates that either authentication or privacy, respectively, is not being used. - The absence of `authKey` (or `authKey=None`) implies no authentication, which is equivalent to using `usmNoAuthProtocol`. - The absen
96 downloads
0 direct96 via packsSQL Injection is a critical vulnerability that can lead to data or system compromise. By dynamically generating SQL query strings, user input may be able to influence the logic of the SQL statement. This could lead to an adversary accessing information they should not have access to, or in some circumstances, being able to execute OS functionality or code. R
96 downloads
0 direct96 via packsThe application was found to ignore host keys. Host keys are important as they provide assurance that the client can prove that the host is trusted. By ignoring these host keys, it is impossible for the client to validate the connection is to a trusted host. To remediate this issue, remove the call to `set_missing_host_key_policy(...)` which sets the host ke
96 downloads
0 direct96 via packsThe application was found using the `requests` module without configuring a timeout value for connections. The `verify=False` argument has been set, which effectively disables the validation of server certificates. This allows for an adversary who is in between the application and the target host to intercept potentially sensitive information or transmit mal
96 downloads
0 direct96 via packsThe application was found calling `ssl.wrap_socket` without a TLS protocol version specified. Additionally, `ssl.wrap_socket` has been deprecated since Python 3.7. It is strongly recommended that newer applications use TLS 1.2 or 1.3 and `SSLContext.wrap_socket`. To remediate this issue, create a new TLS context and pass in `ssl.PROTOCOL_TLS_CLIENT` for clie
96 downloads
0 direct96 via packsThe application was found calling an SSL module with SSL or TLS protocols that have known deficiencies. It is strongly recommended that newer applications use TLS 1.2 or 1.3 and `SSLContext.wrap_socket`. If using the `pyOpenSSL` module, please note that it has been deprecated and the Python Cryptographic Authority strongly suggests moving to use the [pyca/cr
96 downloads
0 direct96 via packsThe application was found creating a SSL context using the `_create_unverified_context`. This effectively disables the validation of server certificates. This allows for an adversary who is in between the application and the target host to intercept potentially sensitive information or transmit malicious data. To remediate this issue remove the call to `_cre
96 downloads
0 direct96 via packsThe application was found using a telnet library. As telnet does not provide encryption, it is strongly recommended that communications use a more secure transport such as SSH. The [paramiko](https://www.paramiko.org/) library can be used to initiate SSH connections. Example using `paramiko` SSH client: ``` import paramiko import scp # Create an SSH client w
96 downloads
0 direct96 via packsThe application was found creating files in shared system temporary directories (`/tmp` or `/var/tmp`) without using the `tempfile.TemporaryFile` function. Depending on how the application uses this temporary file, an attacker may be able to create symlinks that point to other files prior to the application creating or writing to the target file, leading to
96 downloads
0 direct96 via packsThe application was found creating temporary files with the insecure `mktemp` method. Depending on how the application uses this temporary file, an attacker may be able to create symlinks that point to other files prior to the application creating or writing to the target file, leading to unintended files being created or overwritten. To remediate this issue
96 downloads
0 direct96 via packsThe application was found passing in a non-literal value to the `urllib` methods which issue requests. `urllib` supports the `file://` scheme, which may allow an adversary who can control the URL value to read arbitrary files on the file system. To remediate this issue either hardcode the URLs being used in urllib or use the `requests` module instead. Exampl
96 downloads
0 direct96 via packsThe application was found using the `xml.etree` package for processing XML. Pythons default xml processors suffer from various XML parsing vulnerabilities and care must be taken when handling XML data. Additionally, depending on the version of Python, more critical vulnerabilities such as eXternal XML Entity injection maybe exploitable. The `etree` package s
96 downloads
0 direct96 via packsThe application was found using the `xml.etree` package for processing XML. Pythons default xml processors suffer from various XML parsing vulnerabilities and care must be taken when handling XML data. Additionally, depending on the version of Python, more critical vulnerabilities such as eXternal XML Entity injection maybe exploitable. The `etree` package s
96 downloads
0 direct96 via packsThe application was found using the `lxml.etree` package for processing XML. Python's default XML processors suffer from various XML parsing vulnerabilities and care must be taken when handling XML data. Additionally, depending on the version of Python, more critical vulnerabilities such as eXternal XML Entity injection maybe exploitable. The `etree` package
96 downloads
0 direct96 via packsThe application was found using the `xml.dom.expatbuilder` which calls the `xml.dom.minidom` package for processing XML. Python's default XML processors suffer from various XML parsing vulnerabilities and care must be taken when handling XML data. Additionally, depending on the version of Python, more critical vulnerabilities such as eXternal XML Entity inje
96 downloads
0 direct96 via packsThe application was found using the `xml.sax.expatreader` package for processing XML. Python's default XML processors suffer from various XML parsing vulnerabilities and care must be taken when handling XML data. Additionally, depending on the version of Python, more critical vulnerabilities such as eXternal XML Entity injection maybe exploitable. The `xml.s
96 downloads
0 direct96 via packsThe application was found using the `xml.dom.minidom` package for processing XML. Python's default XML processors suffer from various XML parsing vulnerabilities and care must be taken when handling XML data. Additionally, depending on the version of Python, more critical vulnerabilities such as eXternal XML Entity injection maybe exploitable. The `xml.dom.m
96 downloads
0 direct96 via packsThe application was found using the `xml.dom.pulldom` package for processing XML. Python's default XML processors suffer from various XML parsing vulnerabilities and care must be taken when handling XML data. Additionally, depending on the version of Python, more critical vulnerabilities such as eXternal XML Entity injection maybe exploitable. The `xml.dom.p
96 downloads
0 direct96 via packsThe application was found using the `xml.sax` package for processing XML. Python's default XML processors suffer from various XML parsing vulnerabilities and care must be taken when handling XML data. Additionally, depending on the version of Python, more critical vulnerabilities such as eXternal XML Entity injection maybe exploitable. The `xml.sax` package
96 downloads
0 direct96 via packsStarting a process with a partial executable path
96 downloads
0 direct96 via packsStarting a process with a partial executable path
96 downloads
0 direct96 via packssubprocess call - check for execution of untrusted input
96 downloads
0 direct96 via packsThe sensitive information may be valuable information on its own (such as a password), or it may be useful for launching other, more deadly attacks. If an attack fails, an attacker may use error information provided by the server to launch another more focused attack. For example, an attempt to exploit a path traversal weakness (CWE-22) might yield the full
97 downloads
0 direct97 via packsInsecure WebView Implementation. leading to a security problem known as SSL certificate validation bypass. This occurs when the app fails to properly validate SSL certificates, allowing potentially malicious or spoofed certificates to be accepted, leading to a Man-in-the-Middle (MitM) attack where an attacker intercepts and manipulates communication between
97 downloads
0 direct97 via packsRemote WebView debugging is enabled. This allows an attacker with debugging access to interact with the webview and steal or corrupt data. To fix these security issues, it is recommended to disable remote debugging and restrict file access in the WebView. Here's how you can do it: ``` WebView webView = new WebView(context); // Disable remote debugging if (Bu
97 downloads
0 direct97 via packsWebView load files from external storage. Files in external storage can be modified by any application. Loading files from external storage in a WebView can introduce security risks, as it allows web content to access potentially sensitive data stored on the device's external storage. This can lead to unauthorized access to user data, including personal file
97 downloads
0 direct97 via packsWebView File System Access is enabled. An attacker able to inject script into a WebView, could exploit the opportunity to unauthorized access to sensitive user data or system files. To fix this security issue, you should disable file access in the WebView or restrict it to specific directories. An example: ``` // Create a WebView instance WebView webView = n
97 downloads
0 direct97 via packsAES with ECB mode is deterministic in nature and not suitable for encrypting large amount of repetitive data.
102 downloads
0 direct102 via packsAES algorithms requires an initialization vector (IV). Providing no or null IV in some implementation results to a 0 IV. Use of a deterministic IV makes dictionary attacks easier.
102 downloads
0 direct102 via packsThe MD5 hashing algorithm is considered cryptographically weak and vulnerable to collision attacks, where two different inputs generate the same output hash. When used for hashing sensitive data, attackers can exploit this weakness to generate collisions, allowing them to bypass security checks or masquerade malicious data as legitimate. This vulnerability i
102 downloads
0 direct102 via packsThe SHA-1 hashing algorithm is no longer considered secure for cryptographic applications due to its vulnerability to collision attacks, where two different inputs produce the same output hash. SHA-1's susceptibility to collision attacks undermines the security of cryptographic operations, allowing attackers to forge signatures or manipulate data without det
102 downloads
0 direct102 via packs'String comparisons using ''==='', ''!=='', ''!='' and ''=='' is vulnerable to timing attacks. More info: https://snyk.io/blog/node-js-timing-attack-ccc-ctf/'
102 downloads
0 direct102 via packsThe application sets NODE_TLS_REJECT_UNAUTHORIZED to '0', which instructs Node.js to disable TLS/SSL certificate validation. This configuration allows the application to accept self-signed certificates or certificates from untrusted authorities, undermining the TLS security model. Disabling TLS/SSL certificate validation compromises the integrity and confide
102 downloads
0 direct102 via packsA weak or broken cryptographic algorithm was identified. Using these functions will introduce vulnerabilities or downgrade the security of your application.
102 downloads
0 direct102 via packsUntrusted input concatinated with raw SQL query using knex raw() or whereRaw() functions can result in SQL Injection.
102 downloads
0 direct102 via packsUntrusted user input in MongoDB $where operator can result in NoSQL JavaScript Injection.
102 downloads
0 direct102 via packsUntrusted input concatinated with raw SQL query can result in SQL Injection.
102 downloads
0 direct102 via packsThe Sequelize connection string indicates that TLS certificate validation of database server is disabled. This is equivalent to not having TLS. An attacker can present any invalid certificate and Sequelize will make database connection ignoring certificate errors. This setting make the connection susceptible to man in the middle (MITM) attacks. Not applicabl
102 downloads
0 direct102 via packs'The Sequelize connection string indicates that database server does not use TLS. Non TLS connections are susceptible to man in the middle (MITM) attacks.'
102 downloads
0 direct102 via packs'The Sequelize connection string indicates that an older version of TLS is in use. TLS1.0 and TLS1.1 are deprecated and should be used. By default, Sequelize use TLSv1.2 but it''s recommended to use TLS1.3. Not applicable to SQLite database.'
102 downloads
0 direct102 via packsThis application is looping over user controlled objects, which can lead to a layer 7 denial of service vulnerability. A layer 7 denial of service attack refers to overloading the application layer of the OSI model, typically layer 7. This can happen when user-controlled input such as objects, arrays, strings, etc. are iterated or looped over without proper
102 downloads
0 direct102 via packsEnsure that the regex used to compare with user supplied input is safe from regular expression denial of service.
102 downloads
0 direct102 via packsApplication can load content over HTTP and that makes the app vulnerable to Man in the middle attacks.
102 downloads
0 direct102 via packsBlink's expirimental features are enabled in this application. Some of the features may affect the security of the application.
102 downloads
0 direct102 via packsDisabling context isolation can introduce Prototype Pollution vulnerabilities.
102 downloads
0 direct102 via packsDisabling webSecurity will disable the same-origin policy and allows the execution of insecure code from any domain.
102 downloads
0 direct102 via packsExperimental features are not expected to be in production ready applications.
102 downloads
0 direct102 via packsNode integration exposes node.js APIs to the electron app and this can introduce remote code execution vulnerabilities to the application if the app is vulnerable to Cross Site Scripting (XSS).
102 downloads
0 direct102 via packsUser controlled data in eval() or similar functions may result in Server Side Injection or Remote Code Injection
102 downloads
0 direct102 via packsPassing untrusted user input directly into the require() function without proper validation or sanitization can possibly cause a vulnerability known as remote code execution (RCE). An attacker could manipulate the input to load and execute arbitrary code from external sources, potentially leading to severe security breaches such as data theft, system comprom
102 downloads
0 direct102 via packsFound an insecure gRPC connection. This creates a connection without encryption to a gRPC client/server. A malicious attacker could tamper with the gRPC message, which could compromise the machine.
102 downloads
0 direct102 via packsUser controlled data in 'unserialize()' or 'deserialize()' function can result in Object Injection or Remote Code Injection.
102 downloads
0 direct102 via packsUnrusted data in `sandbox` can result in code injection.
102 downloads
0 direct102 via packsUser controlled data in 'unserialize()' or 'deserialize()' function can result in Object Injection or Remote Code Injection.
102 downloads
0 direct102 via packsUntrusted user input in templating engine's compile() function can result in Remote Code Execution via server side template injection.
102 downloads
0 direct102 via packsUntrusted user input reaching `vm` can result in code injection.
102 downloads
0 direct102 via packsUntrusted user input in `vm.compileFunction()` can result in code injection.
102 downloads
0 direct102 via packsUntrusted user input in `vm.runInContext()` can result in code injection.
102 downloads
0 direct102 via packsUntrusted user input in `vm.runInNewContext()` can result in code injection.
102 downloads
0 direct102 via packsUntrusted user input reaching `vm2` can result in code injection.
102 downloads
0 direct102 via packsUntrusted user input reaching `vm2` sandbox can result in context injection.
102 downloads
0 direct102 via packsUser controlled data in 'yaml.load()' function can result in Remote Code Injection.
102 downloads
0 direct102 via packsUser controlled data in 'shelljs.exec()' can result in Remote OS Command Execution.
102 downloads
0 direct102 via packsConsider changing the default session cookie name. An attacker can use it to fingerprint the server and target attacks accordingly.
102 downloads
0 direct102 via packs'Default session middleware settings: `domain` not set. It indicates the domain of the cookie; use it to compare against the domain of the server in which the URL is being requested. If they match, then check the path attribute next.'
102 downloads
0 direct102 via packs'Session middleware settings: `httpOnly` is explicitly set to false. It ensures that sensitive cookies cannot be accessed by client side JavaScript and helps to protect against cross-site scripting attacks.'
102 downloads
0 direct102 via packs'Session middleware settings: `maxAge` not set. Use it to set expiration date for cookies.'
102 downloads
0 direct102 via packs'Default session middleware settings: `path` not set. It indicates the path of the cookie; use it to compare against the request path. If this and domain match, then send the cookie in the request.'
102 downloads
0 direct102 via packs'Default session middleware settings: `sameSite` attribute is not configured to strict or lax. These configurations provides protection against Cross Site Request Forgery attacks.'
102 downloads
0 direct102 via packs'Default session middleware settings: `secure` not set. It ensures the browser only sends the cookie over HTTPS.'
102 downloads
0 direct102 via packsAccess-Control-Allow-Origin response header is set to "*". This will disable CORS Same Origin Policy restrictions.
102 downloads
0 direct102 via packsAccess-Control-Allow-Origin response header is set to "*". This will disable CORS Same Origin Policy restrictions.
102 downloads
0 direct102 via packsUntrusted user input in response header will result in HTTP Header Injection or Response Splitting Attacks.
102 downloads
0 direct102 via packsX-XSS-Protection header is set to 0. This will disable the browser's XSS Filter.
102 downloads
0 direct102 via packsX-XSS-Protection header is set to 0. This will disable the browser's XSS Filter.
102 downloads
0 direct102 via packsOne or more Security Response header is explicitly disabled in Helmet.
102 downloads
0 direct102 via packsUsing untrusted Host header for generating dynamic URLs can result in web cache and or password reset poisoning.
102 downloads
0 direct102 via packsHardcoded JWT secret or private key was found. Hardcoding secrets like JWT signing keys poses a significant security risk. If the source code ends up in a public repository or is compromised, the secret is exposed. Attackers could then use the secret to generate forged tokens and access the system. Store it properly in an environment variable. Here are some
102 downloads
0 direct102 via packsThe application is storing a password in the JWT token payload. Storing passwords in JWT token payloads is an insecure practice that can lead to compromised credentials. The password transmitted in the JWT payload is not encrypted and therefore visible to anyone who intercepts the token. It is recommended to avoid storing sensitive information like passwords
102 downloads
0 direct102 via packsThe object is passed strictly to jose.JWT.sign(...). Make sure that sensitive information is not exposed through JWT token payload.
102 downloads
0 direct102 via packsHardcoded JWT secret or private key was found. Hardcoding secrets like JWT signing keys poses a significant security risk. If the source code ends up in a public repository or is compromised, the secret is exposed. Attackers could then use the secret to generate forged tokens and access the system. Store it properly in an environment variable. Here are some
102 downloads
0 direct102 via packsNo token revoking configured for `express-jwt`. A leaked token could still be used and unable to be revoked. Consider using function as the `isRevoked` option.
102 downloads
0 direct102 via packsUse of `{algorithm:'none'}` detected with `jsonwebtoken`. Using none as the algorithm for jsonwebtoken can directly impact the integrity of the information transfer through the JWT token. Consider using a secure algorithm to sign your JWT token such as HMAC or RSA. Some safe usage examples: ``` let token = jwt.sign({user:"user1"}, 'secret', {algorithm: 'HS25
102 downloads
0 direct102 via packsPassing untrusted user input in `redirect()` can result in an open redirect vulnerability. This could be abused by malicious actors to trick users into being redirected to websites under their control to capture authentication information. To prevent open redirect vulnerabilities: - Always validate and sanitize user inputs, especially URL parameters or query
102 downloads
0 direct102 via packsPassing untrusted user input in `redirect()` can result in an open redirect vulnerability. This could be abused by malicious actors to trick users into being redirected to websites under their control to capture authentication information. To prevent open redirect vulnerabilities: - Always validate and sanitize user inputs, especially URL parameters or query
102 downloads
0 direct102 via packsThis application allows user-controlled URLs to be passed directly to HTTP client libraries. This can result in Server-Side Request Forgery (SSRF). SSRF refers to an attack where the attacker can abuse functionality on the server to force it to make requests to other internal systems within your infrastructure that are not directly exposed to the internet. T
102 downloads
0 direct102 via packs'If unverified user data can reach the `phantom` methods it can result in Server-Side Request Forgery vulnerabilities. '
102 downloads
0 direct102 via packsIf unverified user data can reach the `puppeteer` methods it can result in Server-Side Request Forgery vulnerabilities.
102 downloads
0 direct102 via packsIf unverified user data can reach the `puppeteer` methods it can result in Server-Side Request Forgery vulnerabilities.
102 downloads
0 direct102 via packsThis rule detects instances where user-controlled URLs are passed directly to the `generate` function of `wkhtmltoimage` library. This practice can lead to Server Side Request Forgery (SSRF) vulnerabilities, where an attacker can induce the server to make requests to arbitrary URLs. This can potentially expose internal services within the network or lead to
102 downloads
0 direct102 via packsUser controlled URL reached to `wkhtmltopdf` can result in Server Side Request Forgery (SSRF).
102 downloads
0 direct102 via packsInsecure ZIP archive extraction using adm-zip can result in arbitrary path over write and can result in code injection.
102 downloads
0 direct102 via packsUntrusted user input in express render() function can result in arbitrary file read if hbs templating is used.
102 downloads
0 direct102 via packsThis application is using untrusted user input in express render() function. Rendering templates with untrusted user input enables arbitrary file read vulnerabilities when using templating engines like Handlebars (hbs). An attacker can craft malicious input that traverses the filesystem and exposes sensitive files. Consider sanitizing and validating all user
102 downloads
0 direct102 via packsThis application is using untrusted user input with the readFile() and readFileSync() functions. This can lead to directory traversal attacks, as reading files with untrusted input enables arbitrary file access. An attacker could craft malicious input that traverses the file system and exposes sensitive files. Please consider sanitizing and validating all us
102 downloads
0 direct102 via packs'Path constructed with user input can result in Path Traversal. Ensure that user input does not reach `join()` or `resolve()`. '
102 downloads
0 direct102 via packsInsecure TAR archive extraction can result in arbitrary path over write and can result in code injection.
102 downloads
0 direct102 via packsThis application is extracting ZIP archives without sanitizing paths or writing files to a dedicated extraction directory. This allows attackers to overwrite sensitive files or inject malicious code by manipulating TAR archive contents. To fix, sanitize all paths from ZIP archives before writing extracted files using path.basename and path.join. Example of e
102 downloads
0 direct102 via packsUser controlled data in XML Parsers can result in XML Internal Entity Processing vulnerabilities like in DoS.
102 downloads
0 direct102 via packsPassing untrusted user input in `xpath.parse()` can result in XPATH injection vulnerability. This could be abused by malicious actors to execute expressions on on XML files to capture unauthorized information. To prevent XPATH injection vulnerabilities: - Always validate and sanitize user inputs, especially parameters or query strings that may influence the
102 downloads
0 direct102 via packsUser controlled data in XML parsers can result in XML External or Internal Entity (XXE) Processing vulnerabilities
102 downloads
0 direct102 via packsMake sure that unverified user data can not reach the XML Parser, as it can result in XML External or Internal Entity (XXE) Processing vulnerabilities.
102 downloads
0 direct102 via packsThis application accepts user input directly from the client side without validation. This could lead to Cross Site Scripting (XSS) if the input contains malicious script code and the application server does not properly escape or sanitize the output. Consider encoding input data before sending it to the client side. ``` // safe method of sending user input
102 downloads
0 direct102 via packsThis application is compiling strings with `Handlebars.compile` using an insecure option of `{noEscape: true}`. This configuration bypasses the default behavior of Handlebars, which is to escape input values to prevent Cross-Site Scripting (XSS) attacks. XSS attacks are a type of security breach that occurs when an attacker manages to inject malicious script
102 downloads
0 direct102 via packsThis application is using a vulnerable method `Handlebars.SafeString(...)`. Handlebars SafeString method does not escape the data passed through it. Untrusted user input passing through SafeString method can make the application vulnerable to Cross-Site Scripting (XSS) attacks. XSS attacks are a type of security breach that occurs when an attacker manages to
102 downloads
0 direct102 via packsThis application is rendering HTML with vulnerable configurations by setting Sqrl.autoEscaping(false) in squirrelly. This could lead to Cross Site Scripting (XSS) if the input is malicious script code and the application server is not properly validating the output. ``` // safe use of squirrelly render var myTemplate = "<p>My Message is: {{message}}</p>" Sqr
102 downloads
0 direct102 via packsMarkup escaping disabled. This can be used with some template engines to escape disabling of HTML entities, which can lead to XSS attacks.
102 downloads
0 direct102 via packsThis application is serializing Javascript objects with vulnerable configurations by setting `{unsafe: true}` in serialize-javascript. This could lead to Cross Site Scripting (XSS) if the input was malicious script code and the application server is not properly validating the output. ``` // safe use of serialize-javascript const jsObj = serialize({ foo: htm
102 downloads
0 direct102 via packsA new cookie is created without the HttpOnly flag set. The HttpOnly flag is a directive to the browser to make sure that the cookie can not be red by malicious script. When a user is the target of a "Cross-Site Scripting", the attacker would benefit greatly from getting the session id for example.
97 downloads
0 direct97 via packs"A new cookie is created without the Secure flag set. The Secure flag is a directive to the browser to make sure that the cookie is not sent for insecure communication (http://)"
97 downloads
0 direct97 via packsWhen an HTTP request contains unexpected CR and LF characters, the server may respond with an output stream that is interpreted as two different HTTP responses (instead of one). An attacker can control the second response and mount attacks such as cross-site scripting and cache poisoning attacks.
97 downloads
0 direct97 via packsThis code directly writes an HTTP parameter to an HTTP header, which allows for a HTTP response splitting vulnerability. See http://en.wikipedia.org/wiki/HTTP_response_splitting for more information.
97 downloads
0 direct97 via packsPrior to HTML5, Web browsers enforced the Same Origin Policy which ensures that in order for JavaScript to access the contents of a Web page, both the JavaScript and the Web page must originate from the same domain. Without the Same Origin Policy, a malicious website could serve up JavaScript that loads sensitive information from other websites using a clien
97 downloads
0 direct97 via packsA small key size makes the ciphertext vulnerable to brute force attacks. At least 128 bits of entropy should be used when generating the key if use of Blowfish is required.
97 downloads
0 direct97 via packsTriple DES (also known as 3DES or DESede) is considered strong ciphers for modern applications. NIST recommends the usage of AES block ciphers instead of 3DES.
97 downloads
0 direct97 via packsDES is considered strong ciphers for modern applications. Currently, NIST recommends the usage of AES block ciphers instead of DES.
97 downloads
0 direct97 via packsAn authentication cipher mode which provides better confidentiality of the encrypted data should be used instead of Electronic Code Book (ECB) mode, which does not provide good confidentiality. Specifically, ECB mode produces the same output for the same input each time. This allows an attacker to intercept and replay the data.
97 downloads
0 direct97 via packsThe ciphertext produced is susceptible to alteration by an adversary. This mean that the cipher provides no way to detect that the data has been tampered with. If the ciphertext can be controlled by an attacker, it could be altered without detection.
97 downloads
0 direct97 via packsThis specific mode of CBC with PKCS5Padding is susceptible to padding oracle attacks. An adversary could potentially decrypt the message if the system exposed the difference between plaintext with invalid padding or valid padding. The distinction between valid and invalid padding is usually revealed through distinct error messages being returned for each con
97 downloads
0 direct97 via packsImplementing a custom MessageDigest is error-prone. National Institute of Standards and Technology(NIST) recommends the use of SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, or SHA-512/256.
97 downloads
0 direct97 via packsThe network communications for Hazelcast is configured to use a symmetric cipher (probably DES or Blowfish). Those ciphers alone do not provide integrity or secure authentication. The use of asymmetric encryption is preferred.
97 downloads
0 direct97 via packsDetected an insufficient key size for DSA. NIST recommends a key size of 2048 or higher.
97 downloads
0 direct97 via packsThe NullCipher implements the Cipher interface by returning ciphertext identical to the supplied plaintext. In a few contexts, such as testing, a NullCipher may be appropriate. Avoid using the NullCipher. Its accidental use can introduce a significant confidentiality risk.
97 downloads
0 direct97 via packsThe software uses the RSA algorithm but does not incorporate Optimal Asymmetric Encryption Padding (OAEP), which might weaken the encryption.
97 downloads
0 direct97 via packsDES is considered strong ciphers for modern applications. Currently, NIST recommends the usage of AES block ciphers instead of DES.
97 downloads
0 direct97 via packsA HostnameVerifier that accept any host are often use because of certificate reuse on many hosts. As a consequence, this is vulnerable to Man-in-the-middleattacks attacks since the client will trust any certificate.
97 downloads
0 direct97 via packsThe application was found enabling insecure TLS protocol versions. When enabling protocol versions for an `SSLContext`, only the following versions should be allowed: - TLSv1.2 - TLSv1.3 - DTLSv1.2 - DTLSv1.3 To mitigate potential security risks, it is strongly advised to enforce TLS 1.2 as the minimum protocol version and disallow older versions such as TLS
97 downloads
0 direct97 via packsThe application fails to protect against Cross-Site Request Forgery (CSRF) due to disabling Spring's CSRF protection features.
97 downloads
0 direct97 via packsUnvalidated redirects occur when an application redirects a user to a destination URL specified by a user supplied parameter that is not validated. Such vulnerabilities can be used to facilitate phishing attacks.
97 downloads
0 direct97 via packsA HostnameVerifier that accept any host are often use because of certificate reuse on many hosts. As a consequence, this is vulnerable to Man-in-the-middle attacks since the client will trust any certificate.
97 downloads
0 direct97 via packsA file is opened to read its content. The filename comes from an input parameter. If an unfiltered parameter is passed to this file API, files from an arbitrary filesystem location could be read.
97 downloads
0 direct97 via packsThe filename provided by the FileUpload API can be tampered with by the client to reference unauthorized files. The provided filename should be properly validated to ensure it's properly structured, contains no unauthorized path characters (e.g., / \), and refers to an authorized file.
97 downloads
0 direct97 via packsThe highlighted API is used to execute a system command. If unfiltered input is passed to this API, it can lead to arbitrary command execution.
97 downloads
0 direct97 via packsAn expression is built with a dynamic value. The source of the value(s) should be verified to avoid that unfiltered values fall into this risky code evaluation.
97 downloads
0 direct97 via packsConstructing a server-side redirect path with user input could allow an attacker to download application binaries (including application classes or jar files) or view arbitrary files within protected directories.
97 downloads
0 direct97 via packsConcatenating unvalidated user input into a URL can allow an attacker to override the value of a request parameter. Attacker may be able to override existing parameter values, inject a new parameter or exploit variables out of a direct reach. HTTP Parameter Pollution (HPP) attacks consist of injecting encoded query string delimiters into other existing param
97 downloads
0 direct97 via packsJust like SQL, all inputs passed to an LDAP query need to be passed in safely. Unfortunately, LDAP doesn't have prepared statement interfaces like SQL. Therefore, the primary defense against LDAP injection is strong input validation of any untrusted data before including it in an LDAP query.
97 downloads
0 direct97 via packs"A expression is built with a dynamic value. The source of the value(s) should be verified to avoid that unfiltered values fall into this risky code evaluation."
97 downloads
0 direct97 via packsThe software uses an HTTP request parameter to construct a pathname that should be within a restricted directory, but it does not properly neutralize absolute path sequences such as "/abs/path" that can resolve to a location that is outside of that directory. See http://cwe.mitre.org/data/definitions/36.html for more information.
97 downloads
0 direct97 via packsThe input values included in SQL queries need to be passed in safely. Bind variables in prepared statements can be used to easily mitigate the risk of SQL injection.
97 downloads
0 direct97 via packsWithout proper access control, executing an LDAP statement that contains a user-controlled value can allow an attacker to abuse poorly configured LDAP context
97 downloads
0 direct97 via packsA potential hard-coded password was identified in a database connection string. Passwords should not be stored directly in code but loaded from secure locations such as a Key Management System (KMS). The purpose of using a Key Management System is so access can be audited and keys easily rotated in the event of a breach. By hardcoding passwords, it will be e
97 downloads
0 direct97 via packsThe application does not provide authentication when communicating a database server. It is strongly recommended that the database server be configured with authentication and restrict what queries users can execute. Please see your database server's documentation on how to configure a password. Additionally, passwords should not be stored directly in code b
97 downloads
0 direct97 via packsA potential hard-coded password was identified in the source code. Passwords should not be stored directly in code but loaded from secure locations such as a Key Management System (KMS). The purpose of using a Key Management System is so access can be audited and keys easily rotated in the event of a breach. By hardcoding passwords, it will be extremely diff
97 downloads
0 direct97 via packsDo not grant dangerous combinations of permissions.
97 downloads
0 direct97 via packsOverly permissive file permission
97 downloads
0 direct97 via packsThe software constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
97 downloads
0 direct97 via packsServer identity verification is disabled when making SSL connections.
97 downloads
0 direct97 via packsSimple Mail Transfer Protocol (SMTP) is a the text based protocol used for email delivery. Like with HTTP, headers are separate by new line separator. If kuser input is place in a header line, the application should remove or replace new line characters (CR / LF). You should use a safe wrapper such as Apache Common Email and Simple Java Mail which filter spe
97 downloads
0 direct97 via packsServer-Side Request Forgery occur when a web server executes a request to a user supplied destination parameter that is not validated. Such vulnerabilities could allow an attacker to access internal services or to launch attacks from your web server.
97 downloads
0 direct97 via packsWhen converting a byte array containing a hash signature to a human readable string, a conversion mistake can be made if the array is read byte by byte.
97 downloads
0 direct97 via packsAllowing user input to control format parameters could enable an attacker to cause exceptions to be thrown or leak information.Attackers may be able to modify the format string argument, such that an exception is thrown. If this exception is left uncaught, it may crash the application. Alternatively, if sensitive information is used within the unused argumen
97 downloads
0 direct97 via packsCERT: IDS11-J. Perform any string modifications before validation
97 downloads
0 direct97 via packsIDS01-J. Normalize strings before validating them
97 downloads
0 direct97 via packsA malicious user in control of a template can run malicious code on the server-side. Velocity templates should be seen as scripts.
97 downloads
0 direct97 via packsAllowing external control of system settings can disrupt service or cause an application to behave in unexpected, and potentially malicious ways. An attacker could cause an error by providing a nonexistent catalog name or connect to an unauthorized portion of the database.
97 downloads
0 direct97 via packsRemote WebView debugging is enabled.This can introduce security risks as it allows remote debugging tools, such as Chrome DevTools, to inspect and manipulate the WebView content. This can potentially expose sensitive information, including user data, session tokens, and other confidential data, to unauthorized parties. To fix this security issue, you should
97 downloads
0 direct97 via packsIgnoring XML comments in SAML may lead to authentication bypass
97 downloads
0 direct97 via packsAvoid using XMLDecoder to parse content from an untrusted source.
97 downloads
0 direct97 via packsIt is possible to attach malicious behavior to those style sheets. Therefore, if an attacker can control the content or the source of the style sheet, he might be able to trigger remote code execution.
97 downloads
0 direct97 via packsThe input values included in SQL queries need to be passed in safely. Bind variables in prepared statements can be used to easily mitigate the risk of SQL injection.
97 downloads
0 direct97 via packsDisabling HTML escaping put the application at risk for Cross-Site Scripting (XSS).
97 downloads
0 direct97 via packsServlet reflected cross site scripting vulnerability
97 downloads
0 direct97 via packsXML External Entity (XXE) attacks can occur when an XML parser supports XML entities while processing XML received from an untrusted source.
97 downloads
0 direct97 via packsXML External Entity (XXE) attacks can occur when an XML parser supports XML entities while processing XML received from an untrusted source.
97 downloads
0 direct97 via packsXML External Entity (XXE) attacks can occur when an XML parser supports XML entities while processing XML received from an untrusted source.
97 downloads
0 direct97 via packsApp allows self signed or invalid SSL certificates. App is vulnerable to MITM attacks. If the app does not verify the authenticity of the server's SSL certificate, an attacker could impersonate the server and intercept sensitive data transmitted between the app and the server. To fix these security issues, you should ensure proper SSL certificate validation
100 downloads
0 direct100 via packsUIWebView in App ignore SSL errors and accept any SSL Certificate. App is vulnerable to MITM attacks. If the app does not verify the authenticity of the server's SSL certificate, an attacker could impersonate the server and intercept sensitive data transmitted between the app and the server. To fix these security issues, you should ensure proper SSL certific
100 downloads
0 direct100 via packsWeak biometric ACL flag is associated with a key stored in Keychain. With '.biometryAny/.userPresence/.touchIDAny' flag, an attacker with the ability to add a biometry to the device can authenticate as the user. It is recommended to use more specific and secure authentication mechanisms like '.biometryCurrentSet' and '.touchIDCurrentSet'. Here's an example o
95 downloads
0 direct95 via packsDTLS 1.2 should be used. Detected old version - DTLS 1.0. DTLS (Datagram Transport Layer Security) 1.0 suffers from various security vulnerabilities and weaknesses, as it is an outdated and less secure protocol compared to newer versions such as DTLS 1.2 or 1.3. Here's an example of how to use DTLS 1.2: ``` import Network // Create a NWConnection instance wi
95 downloads
0 direct95 via packsThe file has no special protections associated with it. Using .noFileProtection or FileProtectionType.none for file protection means that the file is not encrypted on disk, leaving it vulnerable to unauthorized access if the device is compromised or if the file is accessed outside of the app's sandbox. To enhance security, it's crucial to use appropriate fil
95 downloads
0 direct95 via packsA key stored in the Keychain is using a weak accessibility value. kSecAttrAccessibleAlways allows access to the keychain item at all times, even when the device is locked. Storing sensitive data with this accessibility option means that the data is accessible to anyone who gains physical access to the device, regardless of whether it's locked or not. This in
95 downloads
0 direct95 via packsThe app uses TLS 1.0, TLS 1.1 or TLS 1.2. TLS 1.3 should be used instead. TLS versions 1.1 and 1.0 were deprecated by the IETF in June 2018 due to a number of attacks against the vulnerable versions. Use of a deprecated TLS version may result in the unauthorized retrieval of sensitive information. It is strongly recommended that all TLS connections use TLS 1
95 downloads
0 direct95 via packsA new cookie is created without the HttpOnly flag set. The HttpOnly flag is a directive to the browser to make sure that the cookie can not be red by malicious script. When a user is the target of a "Cross-Site Scripting", the attacker would benefit greatly from getting the session id for example.
97 downloads
0 direct97 via packs"A new cookie is created without the Secure flag set. The Secure flag is a directive to the browser to make sure that the cookie is not sent for insecure communication (http://)"
97 downloads
0 direct97 via packs"Storing sensitive data in a persistent cookie for an extended period can lead to a breach of confidentiality or account compromise."
97 downloads
0 direct97 via packsThe information stored in a custom cookie should not be sensitive or related to the session. In most cases, sensitive data should only be stored in session and referenced by the user's session cookie.
97 downloads
0 direct97 via packsWhen an HTTP request contains unexpected CR and LF characters, the server may respond with an output stream that is interpreted as two different HTTP responses (instead of one). An attacker can control the second response and mount attacks such as cross-site scripting and cache poisoning attacks.
97 downloads
0 direct97 via packsThis code constructs an HTTP Cookie using an untrusted HTTP parameter. If this cookie is added to an HTTP response, it will allow a HTTP response splitting vulnerability. See http://en.wikipedia.org/wiki/HTTP_response_splitting for more information.
97 downloads
0 direct97 via packsThis code directly writes an HTTP parameter to an HTTP header, which allows for a HTTP response splitting vulnerability. See http://en.wikipedia.org/wiki/HTTP_response_splitting for more information.
97 downloads
0 direct97 via packsA trust boundary can be thought of as line drawn through a program. On one side of the line, data is untrusted. On the other side of the line, data is assumed to be trustworthy. The purpose of validation logic is to allow data to safely cross the trust boundary - to move from untrusted to trusted. A trust boundary violation occurs when a program blurs the li
97 downloads
0 direct97 via packsPrior to HTML5, Web browsers enforced the Same Origin Policy which ensures that in order for JavaScript to access the contents of a Web page, both the JavaScript and the Web page must originate from the same domain. Without the Same Origin Policy, a malicious website could serve up JavaScript that loads sensitive information from other websites using a clien
97 downloads
0 direct97 via packsPrior to HTML5, Web browsers enforced the Same Origin Policy which ensures that in order for JavaScript to access the contents of a Web page, both the JavaScript and the Web page must originate from the same domain. Without the Same Origin Policy, a malicious website could serve up JavaScript that loads sensitive information from other websites using a clien
97 downloads
0 direct97 via packsA small key size makes the ciphertext vulnerable to brute force attacks. At least 128 bits of entropy should be used when generating the key if use of Blowfish is required.
97 downloads
0 direct97 via packsTriple DES (also known as 3DES or DESede) is considered strong ciphers for modern applications. NIST recommends the usage of AES block ciphers instead of 3DES.
97 downloads
0 direct97 via packsDES is considered strong ciphers for modern applications. Currently, NIST recommends the usage of AES block ciphers instead of DES.
97 downloads
0 direct97 via packsAn authentication cipher mode which provides better confidentiality of the encrypted data should be used instead of Electronic Code Book (ECB) mode, which does not provide good confidentiality. Specifically, ECB mode produces the same output for the same input each time. This allows an attacker to intercept and replay the data.
97 downloads
0 direct97 via packsThe ciphertext produced is susceptible to alteration by an adversary. This mean that the cipher provides no way to detect that the data has been tampered with. If the ciphertext can be controlled by an attacker, it could be altered without detection.
97 downloads
0 direct97 via packsThis specific mode of CBC with PKCS5Padding is susceptible to padding oracle attacks. An adversary could potentially decrypt the message if the system exposed the difference between plaintext with invalid padding or valid padding. The distinction between valid and invalid padding is usually revealed through distinct error messages being returned for each con
97 downloads
0 direct97 via packsImplementing a custom MessageDigest is error-prone. National Institute of Standards and Technology(NIST) recommends the use of SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, or SHA-512/256.
97 downloads
0 direct97 via packsDefaultHttpClient with default constructor is not compatible with TLS 1.2
97 downloads
0 direct97 via packsThe network communications for Hazelcast is configured to use a symmetric cipher (probably DES or Blowfish). Those ciphers alone do not provide integrity or secure authentication. The use of asymmetric encryption is preferred.
97 downloads
0 direct97 via packsDetected an insufficient key size for DSA. NIST recommends a key size of 2048 or higher.
97 downloads
0 direct97 via packsThe NullCipher implements the Cipher interface by returning ciphertext identical to the supplied plaintext. In a few contexts, such as testing, a NullCipher may be appropriate. Avoid using the NullCipher. Its accidental use can introduce a significant confidentiality risk.
97 downloads
0 direct97 via packsThe software uses the RSA algorithm but does not incorporate Optimal Asymmetric Encryption Padding (OAEP), which might weaken the encryption.
97 downloads
0 direct97 via packsDES is considered strong ciphers for modern applications. Currently, NIST recommends the usage of AES block ciphers instead of DES.
97 downloads
0 direct97 via packsA HostnameVerifier that accept any host are often use because of certificate reuse on many hosts. As a consequence, this is vulnerable to Man-in-the-middleattacks attacks since the client will trust any certificate.
97 downloads
0 direct97 via packsThis method is part of a REST Web Service (JSR311). The security of this web service should be analyzed. For example: - Authentication, if enforced, should be tested. - Access control, if enforced, should be tested. - The inputs should be tracked for potential vulnerabilities. - The communication should ideally be over SSL. - If the service supports writes (
97 downloads
0 direct97 via packsThis method is part of a SOAP Web Service (JSR224). The security of this web service should be analyzed. For example: - Authentication, if enforced, should be tested. - Access control, if enforced, should be tested. - The inputs should be tracked for potential vulnerabilities. - The communication should ideally be over SSL.
97 downloads
0 direct97 via packsBeyond using an SSL socket, you need to make sure your use of SSLSocketFactory does all the appropriate certificate validation checks to make sure you are not subject to man-in-the-middle attacks. Please read the OWASP Transport Layer Protection Cheat Sheet for details on how to do this correctly.
97 downloads
0 direct97 via packsUnvalidated redirects occur when an application redirects a user to a destination URL specified by a user supplied parameter that is not validated. Such vulnerabilities can be used to facilitate phishing attacks.
97 downloads
0 direct97 via packsA HostnameVerifier that accept any host are often use because of certificate reuse on many hosts. As a consequence, this is vulnerable to Man-in-the-middle attacks since the client will trust any certificate.
97 downloads
0 direct97 via packsA file is opened to read its content. The filename comes from an input parameter. If an unfiltered parameter is passed to this file API, files from an arbitrary filesystem location could be read.
97 downloads
0 direct97 via packsThe filename provided by the FileUpload API can be tampered with by the client to reference unauthorized files. The provided filename should be properly validated to ensure it's properly structured, contains no unauthorized path characters (e.g., / \), and refers to an authorized file.
97 downloads
0 direct97 via packsForm inputs should have minimal input validation. Preventive validation helps provide defense in depth against a variety of risks.
97 downloads
0 direct97 via packsConstructing SimpleDB queries containing user input can allow an attacker to view unauthorized records.
97 downloads
0 direct97 via packsAn attacker can set arbitrary bean properties that can compromise system integrity. An attacker can leverage this functionality to access special bean properties like class.classLoader that will allow them to override system properties and potentially execute arbitrary code.
97 downloads
0 direct97 via packsWhen data from an untrusted source is put into a logger and not neutralized correctly, an attacker could forge log entries or include malicious content. Inserted false entries could be used to skew statistics, distract the administrator or even to implicate another party in the commission of a malicious act. If the log file is processed automatically, the at
97 downloads
0 direct97 via packsThe highlighted API is used to execute a system command. If unfiltered input is passed to this API, it can lead to arbitrary command execution.
97 downloads
0 direct97 via packsThe method identified is susceptible to injection. The input should be validated and properly escaped.
97 downloads
0 direct97 via packsThe method identified is susceptible to injection. The input should be validated and properly escaped.
97 downloads
0 direct97 via packsAn expression is built with a dynamic value. The source of the value(s) should be verified to avoid that unfiltered values fall into this risky code evaluation.
97 downloads
0 direct97 via packsConstructing a server-side redirect path with user input could allow an attacker to download application binaries (including application classes or jar files) or view arbitrary files within protected directories.
97 downloads
0 direct97 via packsConcatenating unvalidated user input into a URL can allow an attacker to override the value of a request parameter. Attacker may be able to override existing parameter values, inject a new parameter or exploit variables out of a direct reach. HTTP Parameter Pollution (HPP) attacks consist of injecting encoded query string delimiters into other existing param
97 downloads
0 direct97 via packsJust like SQL, all inputs passed to an LDAP query need to be passed in safely. Unfortunately, LDAP doesn't have prepared statement interfaces like SQL. Therefore, the primary defense against LDAP injection is strong input validation of any untrusted data before including it in an LDAP query.
97 downloads
0 direct97 via packs"A expression is built with a dynamic value. The source of the value(s) should be verified to avoid that unfiltered values fall into this risky code evaluation."
97 downloads
0 direct97 via packsA file is opened to read its content. The filename comes from an input parameter. If an unfiltered parameter is passed to this file API, files from an arbitrary filesystem location could be read. This rule identifies potential path traversal vulnerabilities. In many cases, the constructed file path cannot be controlled by the user.
97 downloads
0 direct97 via packsA file is opened to write to its contents. The filename comes from an input parameter. If an unfiltered parameter is passed to this file API, files at an arbitrary filesystem location could be modified. This rule identifies potential path traversal vulnerabilities. In many cases, the constructed file path cannot be controlled by the user.
97 downloads
0 direct97 via packs"The software uses an HTTP request parameter to construct a pathname that should be within a restricted directory, but it does not properly neutralize absolute path sequences such as "/abs/path" that can resolve to a location that is outside of that directory. See http://cwe.mitre.org/data/definitions/36.html for more information."
97 downloads
0 direct97 via packs"The software uses an HTTP request parameter to construct a pathname that should be within a restricted directory, but it does not properly neutralize sequences such as ".." that can resolve to a location that is outside of that directory. See http://cwe.mitre.org/data/definitions/23.html for more information."
97 downloads
0 direct97 via packsThe input values included in SQL queries need to be passed in safely. Bind variables in prepared statements can be used to easily mitigate the risk of SQL injection.
97 downloads
0 direct97 via packsWithout proper access control, executing an LDAP statement that contains a user-controlled value can allow an attacker to abuse poorly configured LDAP context
97 downloads
0 direct97 via packsWithout proper access control, executing an LDAP statement that contains a user-controlled value can allow an attacker to abuse poorly configured LDAP context
97 downloads
0 direct97 via packsA potential hard-coded password was identified in a database connection string. Passwords should not be stored directly in code but loaded from secure locations such as a Key Management System (KMS). The purpose of using a Key Management System is so access can be audited and keys easily rotated in the event of a breach. By hardcoding passwords, it will be e
97 downloads
0 direct97 via packsThe application does not provide authentication when communicating a database server. It is strongly recommended that the database server be configured with authentication and restrict what queries users can execute. Please see your database server's documentation on how to configure a password. Additionally, passwords should not be stored directly in code b
97 downloads
0 direct97 via packsA potential hard-coded password was identified in the source code. Passwords should not be stored directly in code but loaded from secure locations such as a Key Management System (KMS). The purpose of using a Key Management System is so access can be audited and keys easily rotated in the event of a breach. By hardcoding passwords, it will be extremely diff
97 downloads
0 direct97 via packsDo not grant dangerous combinations of permissions.
97 downloads
0 direct97 via packsOverly permissive file permission
97 downloads
0 direct97 via packsOverly permissive file permission
97 downloads
0 direct97 via packsThe software constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
97 downloads
0 direct97 via packsThe software constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
97 downloads
0 direct97 via packsServer identity verification is disabled when making SSL connections.
97 downloads
0 direct97 via packsSimple Mail Transfer Protocol (SMTP) is a the text based protocol used for email delivery. Like with HTTP, headers are separate by new line separator. If kuser input is place in a header line, the application should remove or replace new line characters (CR / LF). You should use a safe wrapper such as Apache Common Email and Simple Java Mail which filter spe
97 downloads
0 direct97 via packsServer-Side Request Forgery occur when a web server executes a request to a user supplied destination parameter that is not validated. Such vulnerabilities could allow an attacker to access internal services or to launch attacks from your web server.
97 downloads
0 direct97 via packsServer-Side Request Forgery occur when a web server executes a request to a user supplied destination parameter that is not validated. Such vulnerabilities could allow an attacker to access internal services or to launch attacks from your web server.
97 downloads
0 direct97 via packsWhen converting a byte array containing a hash signature to a human readable string, a conversion mistake can be made if the array is read byte by byte.
97 downloads
0 direct97 via packsAllowing user input to control format parameters could enable an attacker to cause exceptions to be thrown or leak information.Attackers may be able to modify the format string argument, such that an exception is thrown. If this exception is left uncaught, it may crash the application. Alternatively, if sensitive information is used within the unused argumen
97 downloads
0 direct97 via packsImproper Handling of Unicode Encoding
97 downloads
0 direct97 via packsCERT: IDS11-J. Perform any string modifications before validation
97 downloads
0 direct97 via packsIDS01-J. Normalize strings before validating them
97 downloads
0 direct97 via packsA malicious user in control of a template can run malicious code on the server-side. Velocity templates should be seen as scripts.
97 downloads
0 direct97 via packsAllowing external control of system settings can disrupt service or cause an application to behave in unexpected, and potentially malicious ways. An attacker could cause an error by providing a nonexistent catalog name or connect to an unauthorized portion of the database.
97 downloads
0 direct97 via packsThe sensitive information may be valuable information on its own (such as a password), or it may be useful for launching other, more deadly attacks. If an attack fails, an attacker may use error information provided by the server to launch another more focused attack. For example, an attempt to exploit a path traversal weakness (CWE-22) might yield the full
97 downloads
0 direct97 via packsApplications can unintentionally leak information about their configuration, internal workings, or violate privacy through a variety of application problems. Pages that provide different responses based on the validity of the data can lead to Information Leakage; specifically when data deemed confidential is being revealed as a result of the web application'
97 downloads
0 direct97 via packsEnabling extensions in Apache XML RPC server or client can lead to deserialization vulnerability which would allow an attacker to execute arbitrary code.
97 downloads
0 direct97 via packsIgnoring XML comments in SAML may lead to authentication bypass
97 downloads
0 direct97 via packsAvoid using XMLDecoder to parse content from an untrusted source.
97 downloads
0 direct97 via packsIt is possible to attach malicious behavior to those style sheets. Therefore, if an attacker can control the content or the source of the style sheet, he might be able to trigger remote code execution.
97 downloads
0 direct97 via packsThe input values included in SQL queries need to be passed in safely. Bind variables in prepared statements can be used to easily mitigate the risk of SQL injection.
97 downloads
0 direct97 via packsDisabling HTML escaping put the application at risk for Cross-Site Scripting (XSS).
97 downloads
0 direct97 via packsAvoid using custom XSS filtering. Please use standard sanitization functions.
97 downloads
0 direct97 via packsDisabling HTML escaping put the application at risk for Cross-Site Scripting (XSS).
97 downloads
0 direct97 via packsServlet reflected cross site scripting vulnerability
97 downloads
0 direct97 via packsA potential XSS was found. It could be used to execute unwanted JavaScript in a client's browser.
97 downloads
0 direct97 via packsXML External Entity (XXE) attacks can occur when an XML parser supports XML entities while processing XML received from an untrusted source.
97 downloads
0 direct97 via packsXML External Entity (XXE) attacks can occur when an XML parser supports XML entities while processing XML received from an untrusted source.
97 downloads
0 direct97 via packsXML External Entity (XXE) attacks can occur when an XML parser supports XML entities while processing XML received from an untrusted source.
97 downloads
0 direct97 via packsXML External Entity (XXE) attacks can occur when an XML parser supports XML entities while processing XML received from an untrusted source.
97 downloads
0 direct97 via packsXML External Entity (XXE) attacks can occur when an XML parser supports XML entities while processing XML received from an untrusted source.
97 downloads
0 direct97 via packsXML External Entity (XXE) attacks can occur when an XML parser supports XML entities while processing XML received from an untrusted source.