Under Review

Custom curl query?

Does anyone know of or have a custom live discover query that can identify any processes, programs running cURL? I am seeing something to help identify the vulnerability located in CVE-2023-38545.

Description

The version of curl installed on the remote host is affected by a heap based buffer overflow in the SOCKS5 proxy handshake. When curl is asked to pass along the hostname to the SOCKS5 proxy to allow that to resolve the address instead of it getting done by curl itself, the maximum length that hostname can be is 255 bytes. If the hostname is detected to be longer than 255 bytes, curl switches to local name resolving and instead passes on the resolved address only to the proxy. Due to a bug, the local variable that means 'let the host resolve the name' could get the wrong value during a slow SOCKS5 handshake, and contrary to the intention, copy the too long hostname to the target buffer instead of copying just the resolved address there.

Parents
  • Are you interested in processes that load libcurl.dll/libcurl-x64.dll for example? E.g. You might build an exe that uses the libcurl library and your interested in those or are you interested in processes that shell out to curl.exe? 
  • As a very basic start: select spj.cmd_line, sfj.path from sophos_file_journal as sfj join sophos_process_journal as spj on spj.sophos_pid = sfj.sophos_pid where sfj.subject = "FileBinaryReads" and sfj.event_type = 9 and sfj.file like '%libcurl%' limit 20; We can see for example that the NP++ updater uses libcurl.  I did just create a test exe that uses libcurl, just to generate some data /resized-image/__size/1280x960/__key/commentfiles/fb5d84b10a5745448a7a45dafc1faa43-9120aad2-3ebd-4008-8c5c-2ced9f4a4740/pastedimage1700153168289v1.png
Comment
  • As a very basic start: select spj.cmd_line, sfj.path from sophos_file_journal as sfj join sophos_process_journal as spj on spj.sophos_pid = sfj.sophos_pid where sfj.subject = "FileBinaryReads" and sfj.event_type = 9 and sfj.file like '%libcurl%' limit 20; We can see for example that the NP++ updater uses libcurl.  I did just create a test exe that uses libcurl, just to generate some data /resized-image/__size/1280x960/__key/commentfiles/fb5d84b10a5745448a7a45dafc1faa43-9120aad2-3ebd-4008-8c5c-2ced9f4a4740/pastedimage1700153168289v1.png
Children
No Data