[*] Binary protection state of neaps
RELRO CANARY NX PIE RPATH RUNPATH SYMBOLS
No RELRO No Canary found NX disabled No PIE No RPATH No RUNPATH No Symbols
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00401300_00401300.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-format-string-bugs
Issue description:
The software uses a function that accepts a format string as an argument, but the format string originates from an external source. This can lead to buffer overflows, denial of service, or data representation problems.
15 - vfprintf(_stderr,param_1,&local_res4)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402738_00402738.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
12 - iVar2 = NEAP_InsertAttributeAtTail(param_1,param_2,param_3,sVar1 + 1,param_4)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_SetSecurity_00402b20.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
14 - __dest = malloc(param_4)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_SetSecurity_00402b20.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
19 - memcpy(__dest,param_3,param_4)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/hmac_md5_00402390.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
21 - param_4 = 0x10
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/hmac_md5_00402390.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
23 - memset(local_158,0,0x41)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/hmac_md5_00402390.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
25 - memset(__s,0,0x41)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/hmac_md5_00402390.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
26 - memcpy(local_158,param_3,param_4)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/hmac_md5_00402390.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
27 - memcpy(__s,param_3,param_4)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402c14_00402c14.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
7 - __s = (undefined4 *)malloc(0x28)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402c14_00402c14.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
7 - __s = (undefined4 *)malloc(0x28); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402c14_00402c14.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
9 - memset(__s,0,0x28)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402c14_00402c14.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
12 - memcpy(__s + 7,param_2,6)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00403270_00403270.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
17 - memcpy(param_1,param_2,0x24)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_004033c8_004033c8.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
46 - uVar5 = recv(*param_1,&local_fd0,4000,0)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_004033c8_004033c8.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
46 - uVar5 = recv(*param_1,&local_fd0,4000,0); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402110_00402110.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
20 - memset(acStack_218,0,0x200)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402110_00402110.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
21 - memset(local_418,0,0x100)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402110_00402110.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
23 - memset(auStack_318,0,0x100)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402110_00402110.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
25 - param_5 = 0xff
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402110_00402110.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
27 - memcpy(auStack_318,param_6,param_5)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402110_00402110.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-insecure-api-sprintf-vsprintf
Issue description:
A buffer overflow condition exists when a program attempts to put more data in a buffer than it can hold, or when a program attempts to put data in a memory area outside of the boundaries of a buffer.
50 - (uint)*param_4,(uint)param_4[1],(uint)param_4[2],puVar7,auStack_318)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402110_00402110.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
50 - (uint)*param_4,(uint)param_4[1],(uint)param_4[2],puVar7,auStack_318); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402110_00402110.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-insecure-api-sprintf-vsprintf
Issue description:
A buffer overflow condition exists when a program attempts to put more data in a buffer than it can hold, or when a program attempts to put data in a memory area outside of the boundaries of a buffer.
62 - puVar8,puVar9)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402110_00402110.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
62 - puVar8,puVar9); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402110_00402110.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
71 - iVar6 = NEAP_InsertAttributeAtTail(param_1[1],param_3,param_4,sVar5 + 1,local_418)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402f38_00402f38.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
39 - memcpy(&uStack_fc0,param_2,0x24)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402f38_00402f38.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
44 - memcpy(&uStack_fc0 + __n,puVar5 + 1,*(byte *)(puVar5 + 1) + 1)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402f38_00402f38.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-use-of-source-size-in-copy
Issue description:
The software uses the size of a source buffer when reading from or writing to a destination buffer, which may cause it to access memory that is outside of the bounds of the buffer.
44 - memcpy(&uStack_fc0 + __n,puVar5 + 1,*(byte *)(puVar5 + 1) + 1); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402f38_00402f38.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
51 - memcpy(&uStack_fc0 + __n,(void *)puVar5[10],(uint)*(ushort *)(puVar5 + 9))
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402f38_00402f38.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
59 - memset(auStack_fb4,0,0x10)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402f38_00402f38.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
63 - memcpy(auStack_fb4,auStack_fd0,0x10)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_OpenNEAPService_00403c40.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
14 - __s = (int *)malloc(0x24)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_OpenNEAPService_00403c40.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
14 - __s = (int *)malloc(0x24); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_OpenNEAPService_00403c40.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
16 - memset(__s,0,0x24)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402d4c_00402d4c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-incorrect-unsigned-comparison
Issue description:
Checking if an unsigned variable is negative makes no sense and is usually a good indication that something is probably wrong with the code.
8 - if ((int)param_1 < 0) {
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402d4c_00402d4c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
14 - __s = malloc(0x2c)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402d4c_00402d4c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
14 - __s = malloc(0x2c); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402d4c_00402d4c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
16 - memset(__s,0,0x2c)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402d4c_00402d4c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
18 - memcpy((void *)((int)__s + 5),param_2,param_1)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402d4c_00402d4c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-unchecked-ret-malloc
Issue description:
The software does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.
21 - __dest = malloc(param_3)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402d4c_00402d4c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
21 - __dest = malloc(param_3); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402d4c_00402d4c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
23 - memcpy(__dest,param_4,param_3)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405190_00405190.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
12 - (sVar2 = sVar2 - 1, -1 < (int)sVar2 &&
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405190_00405190.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-integer-truncation
Issue description:
Truncation errors occur when a primitive is cast to a primitive of a smaller size and data is lost in the conversion. The value cannot be trusted and the application will be in an undefined state.
13 - ((((cVar1 = pcVar3[-1], cVar1 == ' ' || (cVar1 == ' ')) || (cVar1 == '
')) ||
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_ListenAdapter_00403878.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
51 - uVar6 = recvfrom(*param_1,auStack_fe4,4000,0,local_34,local_30)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_ListenAdapter_00403878.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
51 - uVar6 = recvfrom(*param_1,auStack_fe4,4000,0,local_34,local_30); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_ListenAdapter_00403878.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-integer-truncation
Issue description:
Truncation errors occur when a primitive is cast to a primitive of a smaller size and data is lost in the conversion. The value cannot be trusted and the application will be in an undefined state.
58 - cVar1 = (char)p_Var8[2]
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_ListenAdapter_00403878.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
69 - memcpy(auStack_1084,local_40,0x10)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_ListenAdapter_00403878.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
70 - memset(local_40,0,0x10)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_0040522c_0040522c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
19 - snprintf(local_80[0].sa_data,0x6c,"%s",param_1)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_0040522c_0040522c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
19 - snprintf(local_80[0].sa_data,0x6c,"%s",param_1); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
26 - while (iVar3 = getopt(param_1,param_2,"hvi:c:"), 0 < iVar3) {
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
57 - __stream = fopen(DAT_00416af4,"r")
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
63 - pcVar6 = fgets(local_128,0x100,__stream)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
68 - sVar7 = sVar7 - 1
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-incorrect-unsigned-comparison
Issue description:
Checking if an unsigned variable is negative makes no sense and is usually a good indication that something is probably wrong with the code.
70 - if (((int)sVar7 < 0) ||
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-integer-truncation
Issue description:
Truncation errors occur when a primitive is cast to a primitive of a smaller size and data is lost in the conversion. The value cannot be trusted and the application will be in an undefined state.
71 - ((((cVar1 = pcVar6[-1], cVar1 != ' ' && (cVar1 != ' ')) && (cVar1 != '
')) &&
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-unchecked-ret-malloc
Issue description:
The software does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.
112 - g_vendor = strdup(__s)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-unchecked-ret-malloc
Issue description:
The software does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.
117 - g_model = strdup(__s)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-unchecked-ret-malloc
Issue description:
The software does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.
122 - g_description = strdup(__s)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-unchecked-ret-malloc
Issue description:
The software does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.
127 - g_version = strdup(__s)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-unchecked-ret-malloc
Issue description:
The software does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.
132 - DAT_00416af0 = strdup(__s)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
150 - memset(acStack_148,0,0x20)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-insecure-api-strcpy-strcat
Issue description:
A buffer overflow condition exists when a program attempts to put more data in a buffer than it can hold, or when a program attempts to put data in a memory area outside of the boundaries of a buffer.
164 - strcpy(acStack_148,pcVar6)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
164 - strcpy(acStack_148,pcVar6); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_004053ac_004053ac.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
19 - read(__fd,auStack_28,0xc)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_004053ac_004053ac.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
19 - read(__fd,auStack_28,0xc); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_BindAdapter_00403d58.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
49 - strncpy(acStack_6c,param_2,0x10)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_BindAdapter_00403d58.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
49 - strncpy(acStack_6c,param_2,0x10); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_BindAdapter_00403d58.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-unterminated-string-strncpy
Issue description:
If there is no NUL character byte in the first n bytes of the source string, strncpy() and stpncpy() do not NUL-terminate the destination buffer. If the program does not explicitly terminate the destination buffer, this will almost certainly result in information disclosure, and possibly a buffer overflow condition.
49 - strncpy(acStack_6c,param_2,0x10); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_BindAdapter_00403d58.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
58 - memset(acStack_4c,0,0x20)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_BindAdapter_00403d58.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-insecure-api-strcpy-strcat
Issue description:
A buffer overflow condition exists when a program attempts to put more data in a buffer than it can hold, or when a program attempts to put data in a memory area outside of the boundaries of a buffer.
68 - strcpy(acStack_4c,param_2)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_BindAdapter_00403d58.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
68 - strcpy(acStack_4c,param_2); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405850_00405850.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
27 - sVar3 = read(param_1,(void *)(param_2 + uVar4),param_3 - uVar4)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405710_00405710.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
9 - snprintf(acStack_210,0x1ff,"%s %s",param_3,param_4)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405710_00405710.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
9 - snprintf(acStack_210,0x1ff,"%s %s",param_3,param_4); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_004057b0_004057b0.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
9 - snprintf(acStack_210,0x1ff,"%s %s",param_3,param_4)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_004057b0_004057b0.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
9 - snprintf(acStack_210,0x1ff,"%s %s",param_3,param_4); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/xmldbc_ephp_wb_00405984.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
16 - iVar2 = FUN_00405310(__fd,10,param_2,param_3,sVar1 + 1 & 0xffff)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405a58_00405a58.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
16 - iVar2 = FUN_00405310(__fd,1,param_2,param_3,sVar1 + 1 & 0xffff)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405b2c_00405b2c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
28 - sVar2 = read(param_1,__s,0x400)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405b2c_00405b2c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
28 - sVar2 = read(param_1,__s,0x400); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405b2c_00405b2c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
28 - sVar2 = read(param_1,__s,0x400); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f04_00405f04.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-format-string-bugs
Issue description:
The software uses a function that accepts a format string as an argument, but the format string originates from an external source. This can lead to buffer overflows, denial of service, or data representation problems.
13 - vsnprintf(acStack_40c,0x400,param_1,&local_res4)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f04_00405f04.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
13 - vsnprintf(acStack_40c,0x400,param_1,&local_res4); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f04_00405f04.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
13 - vsnprintf(acStack_40c,0x400,param_1,&local_res4); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f04_00405f04.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-command-injection
Issue description:
The software constructs an OS command using externally-influenced input, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command.
14 - system(acStack_40c)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f04_00405f04.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
14 - system(acStack_40c); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f78_00405f78.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-format-string-bugs
Issue description:
The software uses a function that accepts a format string as an argument, but the format string originates from an external source. This can lead to buffer overflows, denial of service, or data representation problems.
14 - vsnprintf(acStack_41c,0x400,param_3,&local_resc)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f78_00405f78.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
14 - vsnprintf(acStack_41c,0x400,param_3,&local_resc); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f78_00405f78.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
14 - vsnprintf(acStack_41c,0x400,param_3,&local_resc); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f78_00405f78.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-command-injection
Issue description:
The software constructs an OS command using externally-influenced input, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command.
15 - __stream = popen(acStack_41c,"r")
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f78_00405f78.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
15 - __stream = popen(acStack_41c,"r"); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f78_00405f78.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
22 - iVar1 = fgetc(__stream)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f78_00405f78.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-off-by-one
Issue description:
The software calculates or uses an incorrect maximum or minimum value that is 1 more, or 1 less, than the correct value.
30 - if (param_1[sVar2 - 1] == '
') {
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f78_00405f78.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-off-by-one
Issue description:
The software calculates or uses an incorrect maximum or minimum value that is 1 more, or 1 less, than the correct value.
31 - param_1[sVar2 - 1] = ''
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00401300_00401300.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-format-string-bugs
Issue description:
The software uses a function that accepts a format string as an argument, but the format string originates from an external source. This can lead to buffer overflows, denial of service, or data representation problems.
15 - vfprintf(_stderr,param_1,&local_res4)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402110_00402110.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
20 - memset(acStack_218,0,0x200)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402110_00402110.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
21 - memset(local_418,0,0x100)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402110_00402110.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
23 - memset(auStack_318,0,0x100)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402110_00402110.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
25 - param_5 = 0xff
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402110_00402110.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
27 - memcpy(auStack_318,param_6,param_5)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402110_00402110.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-insecure-api-sprintf-vsprintf
Issue description:
A buffer overflow condition exists when a program attempts to put more data in a buffer than it can hold, or when a program attempts to put data in a memory area outside of the boundaries of a buffer.
50 - (uint)*param_4,(uint)param_4[1],(uint)param_4[2],puVar7,auStack_318)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402110_00402110.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
50 - (uint)*param_4,(uint)param_4[1],(uint)param_4[2],puVar7,auStack_318); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402110_00402110.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-insecure-api-sprintf-vsprintf
Issue description:
A buffer overflow condition exists when a program attempts to put more data in a buffer than it can hold, or when a program attempts to put data in a memory area outside of the boundaries of a buffer.
62 - puVar8,puVar9)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402110_00402110.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
62 - puVar8,puVar9); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402110_00402110.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
71 - iVar6 = NEAP_InsertAttributeAtTail(param_1[1],param_3,param_4,sVar5 + 1,local_418)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402738_00402738.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
12 - iVar2 = NEAP_InsertAttributeAtTail(param_1,param_2,param_3,sVar1 + 1,param_4)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402c14_00402c14.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
7 - __s = (undefined4 *)malloc(0x28)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402c14_00402c14.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
7 - __s = (undefined4 *)malloc(0x28); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402c14_00402c14.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
9 - memset(__s,0,0x28)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402c14_00402c14.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
12 - memcpy(__s + 7,param_2,6)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402d4c_00402d4c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-incorrect-unsigned-comparison
Issue description:
Checking if an unsigned variable is negative makes no sense and is usually a good indication that something is probably wrong with the code.
8 - if ((int)param_1 < 0) {
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402d4c_00402d4c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
14 - __s = malloc(0x2c)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402d4c_00402d4c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
14 - __s = malloc(0x2c); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402d4c_00402d4c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
16 - memset(__s,0,0x2c)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402d4c_00402d4c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
18 - memcpy((void *)((int)__s + 5),param_2,param_1)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402d4c_00402d4c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-unchecked-ret-malloc
Issue description:
The software does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.
21 - __dest = malloc(param_3)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402d4c_00402d4c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
21 - __dest = malloc(param_3); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402d4c_00402d4c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
23 - memcpy(__dest,param_4,param_3)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402f38_00402f38.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
39 - memcpy(&uStack_fc0,param_2,0x24)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402f38_00402f38.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
44 - memcpy(&uStack_fc0 + __n,puVar5 + 1,*(byte *)(puVar5 + 1) + 1)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402f38_00402f38.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-use-of-source-size-in-copy
Issue description:
The software uses the size of a source buffer when reading from or writing to a destination buffer, which may cause it to access memory that is outside of the bounds of the buffer.
44 - memcpy(&uStack_fc0 + __n,puVar5 + 1,*(byte *)(puVar5 + 1) + 1); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402f38_00402f38.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
51 - memcpy(&uStack_fc0 + __n,(void *)puVar5[10],(uint)*(ushort *)(puVar5 + 9))
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402f38_00402f38.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
59 - memset(auStack_fb4,0,0x10)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00402f38_00402f38.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
63 - memcpy(auStack_fb4,auStack_fd0,0x10)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00403270_00403270.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
17 - memcpy(param_1,param_2,0x24)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_004033c8_004033c8.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
46 - uVar5 = recv(*param_1,&local_fd0,4000,0)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_004033c8_004033c8.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
46 - uVar5 = recv(*param_1,&local_fd0,4000,0); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405190_00405190.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
12 - (sVar2 = sVar2 - 1, -1 < (int)sVar2 &&
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405190_00405190.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-integer-truncation
Issue description:
Truncation errors occur when a primitive is cast to a primitive of a smaller size and data is lost in the conversion. The value cannot be trusted and the application will be in an undefined state.
13 - ((((cVar1 = pcVar3[-1], cVar1 == ' ' || (cVar1 == ' ')) || (cVar1 == '
')) ||
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_0040522c_0040522c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
19 - snprintf(local_80[0].sa_data,0x6c,"%s",param_1)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_0040522c_0040522c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
19 - snprintf(local_80[0].sa_data,0x6c,"%s",param_1); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_004053ac_004053ac.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
19 - read(__fd,auStack_28,0xc)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_004053ac_004053ac.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
19 - read(__fd,auStack_28,0xc); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405710_00405710.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
9 - snprintf(acStack_210,0x1ff,"%s %s",param_3,param_4)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405710_00405710.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
9 - snprintf(acStack_210,0x1ff,"%s %s",param_3,param_4); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_004057b0_004057b0.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
9 - snprintf(acStack_210,0x1ff,"%s %s",param_3,param_4)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_004057b0_004057b0.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
9 - snprintf(acStack_210,0x1ff,"%s %s",param_3,param_4); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405850_00405850.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
27 - sVar3 = read(param_1,(void *)(param_2 + uVar4),param_3 - uVar4)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405a58_00405a58.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
16 - iVar2 = FUN_00405310(__fd,1,param_2,param_3,sVar1 + 1 & 0xffff)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405b2c_00405b2c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
28 - sVar2 = read(param_1,__s,0x400)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405b2c_00405b2c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
28 - sVar2 = read(param_1,__s,0x400); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405b2c_00405b2c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
28 - sVar2 = read(param_1,__s,0x400); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f04_00405f04.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-format-string-bugs
Issue description:
The software uses a function that accepts a format string as an argument, but the format string originates from an external source. This can lead to buffer overflows, denial of service, or data representation problems.
13 - vsnprintf(acStack_40c,0x400,param_1,&local_res4)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f04_00405f04.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
13 - vsnprintf(acStack_40c,0x400,param_1,&local_res4); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f04_00405f04.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
13 - vsnprintf(acStack_40c,0x400,param_1,&local_res4); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f04_00405f04.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-command-injection
Issue description:
The software constructs an OS command using externally-influenced input, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command.
14 - system(acStack_40c)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f04_00405f04.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
14 - system(acStack_40c); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f78_00405f78.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-format-string-bugs
Issue description:
The software uses a function that accepts a format string as an argument, but the format string originates from an external source. This can lead to buffer overflows, denial of service, or data representation problems.
14 - vsnprintf(acStack_41c,0x400,param_3,&local_resc)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f78_00405f78.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
14 - vsnprintf(acStack_41c,0x400,param_3,&local_resc); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f78_00405f78.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
14 - vsnprintf(acStack_41c,0x400,param_3,&local_resc); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f78_00405f78.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-command-injection
Issue description:
The software constructs an OS command using externally-influenced input, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command.
15 - __stream = popen(acStack_41c,"r")
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f78_00405f78.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
15 - __stream = popen(acStack_41c,"r"); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f78_00405f78.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
22 - iVar1 = fgetc(__stream)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f78_00405f78.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-off-by-one
Issue description:
The software calculates or uses an incorrect maximum or minimum value that is 1 more, or 1 less, than the correct value.
30 - if (param_1[sVar2 - 1] == '
') {
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/FUN_00405f78_00405f78.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-off-by-one
Issue description:
The software calculates or uses an incorrect maximum or minimum value that is 1 more, or 1 less, than the correct value.
31 - param_1[sVar2 - 1] = ''
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_BindAdapter_00403d58.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
49 - strncpy(acStack_6c,param_2,0x10)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_BindAdapter_00403d58.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
49 - strncpy(acStack_6c,param_2,0x10); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_BindAdapter_00403d58.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-unterminated-string-strncpy
Issue description:
If there is no NUL character byte in the first n bytes of the source string, strncpy() and stpncpy() do not NUL-terminate the destination buffer. If the program does not explicitly terminate the destination buffer, this will almost certainly result in information disclosure, and possibly a buffer overflow condition.
49 - strncpy(acStack_6c,param_2,0x10); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_BindAdapter_00403d58.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
58 - memset(acStack_4c,0,0x20)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_BindAdapter_00403d58.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-insecure-api-strcpy-strcat
Issue description:
A buffer overflow condition exists when a program attempts to put more data in a buffer than it can hold, or when a program attempts to put data in a memory area outside of the boundaries of a buffer.
68 - strcpy(acStack_4c,param_2)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_BindAdapter_00403d58.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
68 - strcpy(acStack_4c,param_2); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_ListenAdapter_00403878.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
51 - uVar6 = recvfrom(*param_1,auStack_fe4,4000,0,local_34,local_30)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_ListenAdapter_00403878.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
51 - uVar6 = recvfrom(*param_1,auStack_fe4,4000,0,local_34,local_30); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_ListenAdapter_00403878.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-integer-truncation
Issue description:
Truncation errors occur when a primitive is cast to a primitive of a smaller size and data is lost in the conversion. The value cannot be trusted and the application will be in an undefined state.
58 - cVar1 = (char)p_Var8[2]
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_ListenAdapter_00403878.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
69 - memcpy(auStack_1084,local_40,0x10)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_ListenAdapter_00403878.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
70 - memset(local_40,0,0x10)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_OpenNEAPService_00403c40.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
14 - __s = (int *)malloc(0x24)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_OpenNEAPService_00403c40.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
14 - __s = (int *)malloc(0x24); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_OpenNEAPService_00403c40.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
16 - memset(__s,0,0x24)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_SetSecurity_00402b20.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
14 - __dest = malloc(param_4)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/NEAP_SetSecurity_00402b20.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
19 - memcpy(__dest,param_3,param_4)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/hmac_md5_00402390.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
21 - param_4 = 0x10
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/hmac_md5_00402390.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
23 - memset(local_158,0,0x41)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/hmac_md5_00402390.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
25 - memset(__s,0,0x41)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/hmac_md5_00402390.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
26 - memcpy(local_158,param_3,param_4)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/hmac_md5_00402390.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
27 - memcpy(__s,param_3,param_4)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
26 - while (iVar3 = getopt(param_1,param_2,"hvi:c:"), 0 < iVar3) {
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
57 - __stream = fopen(DAT_00416af4,"r")
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
63 - pcVar6 = fgets(local_128,0x100,__stream)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
68 - sVar7 = sVar7 - 1
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-incorrect-unsigned-comparison
Issue description:
Checking if an unsigned variable is negative makes no sense and is usually a good indication that something is probably wrong with the code.
70 - if (((int)sVar7 < 0) ||
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-integer-truncation
Issue description:
Truncation errors occur when a primitive is cast to a primitive of a smaller size and data is lost in the conversion. The value cannot be trusted and the application will be in an undefined state.
71 - ((((cVar1 = pcVar6[-1], cVar1 != ' ' && (cVar1 != ' ')) && (cVar1 != '
')) &&
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-unchecked-ret-malloc
Issue description:
The software does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.
112 - g_vendor = strdup(__s)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-unchecked-ret-malloc
Issue description:
The software does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.
117 - g_model = strdup(__s)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-unchecked-ret-malloc
Issue description:
The software does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.
122 - g_description = strdup(__s)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-unchecked-ret-malloc
Issue description:
The software does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.
127 - g_version = strdup(__s)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-unchecked-ret-malloc
Issue description:
The software does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.
132 - DAT_00416af0 = strdup(__s)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
150 - memset(acStack_148,0,0x20)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-insecure-api-strcpy-strcat
Issue description:
A buffer overflow condition exists when a program attempts to put more data in a buffer than it can hold, or when a program attempts to put data in a memory area outside of the boundaries of a buffer.
164 - strcpy(acStack_148,pcVar6)
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/main_0040146c.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-interesting-api-calls
Issue description:
Locate all calls to interesting and potentially insecure API functions (candidate points). The auditor can backtrace from these candidate points to find pathways allowing access from untrusted input.
164 - strcpy(acStack_148,pcVar6); //possible issue identified - semgrep
[+] Identified source function: /logs/s16_ghidra_decompile_checks/haruspex_neaps/xmldbc_ephp_wb_00405984.c
Semgrep rule: external.semgrep-rules-0xdea.rules.c.raptor-signed-unsigned-conversion
Issue description:
The software uses a signed primitive and performs a cast to an unsigned primitive, or uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value. When the result of a function is to be used as a size parameter, using negative return values can have unexpected results. Although less frequent an issue, unsigned-to-signed conversion can be the precursor to buffer underwrite conditions. Buffer underwrites occur frequently when large unsigned values are cast to signed values, and then used as indexes into a buffer or for pointer arithmetic.
16 - iVar2 = FUN_00405310(__fd,10,param_2,param_3,sVar1 + 1 & 0xffff)