B states an action that might have been done recently.
Hence, B states an action that has just happened.
Options A and B: 'Have read' is in present perfect tense. It states an action that has just completed, where 'might' states the possibility of having completed the action.
'Might' is a modal and will be followed by an infinitive. Modal auxiliaries are always followed by the infinitive, i.e., the base form. 'Have' is an infinitive, and here it's also an auxiliary (helping) verb. 'Had' is not an infinitive.
Hence option B is correct and A is incorrect.
Option C: In 'has read', 'has' is not an infinitive, or the base verb ('have' in 'to have' is an infinitive).
Option D: 'Is reading' is in present continuous tense and states a continuous action at the moment.
But, the action happened in the past, 'might' is the past tense of 'may'.
Also, 'might' will be followed by an infinitive; 'is' is not an infinitive ('is' si the present form of 'be': might be reading)
Hence options C and D are incorrect.