Skip to content

ccache.py improper declaration of variables #2119

Description

@snus-b

Configuration

impacket version: 0.12.0
Python version:
Target OS:

Error Description

In impacket/krb5/ccache.py

In class Credential the init method declares self.authData and self.addresses as tuples but then later tries to use them as lists by appending to them.

216     def __init__(self, data=None, ccache_version=None):                         
217         self.addresses = ()                                                     
218         self.authData = ()                                                      
219         self.header = None                                                      
220         self.ticket = None                                                      
221         self.secondTicket = None   
...
231             for address in range(self.header['num_address']):                   
232                 ad = Address(data)                                              
233                 data = data[len(ad):]                                           
234                 self.addresses.append(ad)                                       
235             num_authdata = unpack('!L', data[:4])[0]                            
236             data = data[calcsize('!L'):]                                        
237             for authdata in range(num_authdata):                                
238                 ad = AuthData(data)                                             
239                 data = data[len(ad):]                                           
240                 self.authData.append(ad)   

Suggested change is to modify lines below to:

217         self.addresses = []                                                    
218         self.authData = []    

Metadata

Metadata

Labels

in reviewThis issue or pull request is being analyzed

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions