Details
Description
In case an IP address conflict has occurred, the TCP/IP Stack stops using its IP address immediatelly. This conflict can be resolved by sending a new SET_CONFIG packet to the stack. This makes the TCP/IP stack to start over.
However, during this start over process it performs a "cleanup sequence". During that cleanup sequence all open sockets (TCP connections) are closed. This includes sending RST or FIN frames to the remote connection partner.
The issue now is, that the TCP stack clears the ACD conflict state too early so that these FIN and RST frames are sent out. This is not allowed as the stack in that case uses the IP address again. From the network view the stack is still in conflict state. It is supposed to use the IP address not before finishing the ACD probing.