Initialising a LinkedList makes an empty LinkedList object, which you then have to populate with Nodes. Your sum LinkedList has no Nodes, so you can't assign Node k to sum.first.
To fix this you need to use Node k = new Node(); However it's best to use/create an add() method in your LinkedList implementation which handles this for you, as well as a remove() method. That way you don't need to simultaneously create and track Nodes in your sum LinkedList.
Apart from that, you should be careful of checking that both head1 and head2 both do not equal null before summing, or you will be restricted to numbers of the same digit-length.