I am using metasploit to exploit a vulnerable version of Samba on a remote host. Samba version 2.2.8, downloaded directly from the cve site.

But when I use trans2open exploit with payload (generic/shell_reverse_tcp) I get the following error:

Exploit failed [no-access]: Rex::Proto::SMB::Exceptions::LoginError Login Failed: undefined local variable or method `args' for #<Rex::Proto::SMB::Client:0x000055d1b5205828>
[*] Exploit completed, but no session was created.

This is how my variables are set:

show options

I am running two virtual machines on AWS. One with kali linux and the other is the one with samba. And yes all firewalls are disabled.

  • The error appears to be a local error with the args you set in metasploit.
    – schroeder
    Aug 22, 2018 at 15:26
  • I just did exactly the same as the tutorial videos I saw... do you have any idea what arg it could be? Aug 22, 2018 at 16:16
  • I edited the question with a picture showing details Aug 22, 2018 at 18:00

1 Answer 1


This is an issue for all "older" samba exploits, e.g. lsa_transnames_heap, chain_reply and trans2open. It always gives the error "undefined local variable or method 'args'"

I just found the solution for this:

If you have/want to fix this manually, you have to go to the library file of the smb-client (/usr/share/metasploit-framework/lib/rex/proto/smb/client.rb)

There you have to change line 657 from return session_setup_clear(*args) to return session_setup_clear(user, pass, domain) and it should work again.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .