From fd649c1702a11748d090321b69ff6160ed46e48c Mon Sep 17 00:00:00 2001 From: Maiky <76447395+maikypedia@users.noreply.github.com> Date: Thu, 3 Aug 2023 16:37:48 +0200 Subject: [PATCH] Fix `getHost()` (ldap.host = ip is not covered) --- ruby/ql/lib/codeql/ruby/frameworks/Ldap.qll | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/ruby/ql/lib/codeql/ruby/frameworks/Ldap.qll b/ruby/ql/lib/codeql/ruby/frameworks/Ldap.qll index d1669ff87af..68eea78d3a9 100644 --- a/ruby/ql/lib/codeql/ruby/frameworks/Ldap.qll +++ b/ruby/ql/lib/codeql/ruby/frameworks/Ldap.qll @@ -64,12 +64,11 @@ module NetLdap { NetLdapBind() { this = l.getAMethodCall("bind") } override DataFlow::Node getHost() { - ( - result = l.getKeywordArgument("encryption") - or - result = l.getAMethodCall("encryption").getArgument(0) - ) and - result.getConstantValue().isStringlikeValue(":simple_tls") + result = + [ + l.getKeywordArgument("host"), l.getAMethodCall("host").getArgument(0), + l.getAMethodCall("host").getKeywordArgument("method") + ] } override DataFlow::Node getPassword() {