Dark Mode
Capec-135 Detail
Format String Injection
Standard Software Likelihood: High Typical Severity: High
Parents: 137
Children: 67
Not present
Explore
-
Survey application: The adversary takes an inventory of the entry points of the application.
| Techniques |
|---|
| Spider web sites for all available links |
| List parameters, external variables, configuration files variables, etc. that are possibly used by the application. |
Experiment
-
Determine user-controllable input susceptible to format string injection: Determine the user-controllable input susceptible to format string injection. For each user-controllable input that the adversary suspects is vulnerable to format string injection, attempt to inject formatting characters such as %n, %s, etc.. The goal is to manipulate the string creation using these formatting characters.
| Techniques |
|---|
| Inject probe payload which contains formatting characters (%s, %d, %n, etc.) through input parameters. |
Exploit
-
Try to exploit the Format String Injection vulnerability: After determining that a given input is vulnerable to format string injection, hypothesize what the underlying usage looks like and the associated constraints.
| Techniques |
|---|
| Insert various formatting characters to read or write the memory, e.g. overwrite return address, etc. |
- The target application must accept a strings as user input, fail to sanitize string formatting characters in the user input, and process this string using functions that interpret string formatting characters.
- None: No specialized resources are required to execute this type of attack.
| High |
|---|
| In order to discover format string vulnerabilities it takes only low skill, however, converting this discovery into a working exploit requires advanced knowledge on the part of the adversary. |
| Integrity | Access Control | Confidentiality |
|---|---|---|
| Modify Data | Bypass Protection Mechanism | Read Data |
| Execute Unauthorized Commands (Run Arbitrary Code) |
- Untrusted search path vulnerability in the add_filename_to_string function in intl/gettext/loadmsgcat.c for Elinks 0.11.1 allows local users to cause Elinks to use an untrusted gettext message catalog (.po file) in a "../po" directory, which can be leveraged to conduct format string attacks. See also: CVE-2007-2027