Police have sealed off the centre of Lutsk, a city 250 miles west of Kyiv.
The assailant is armed and carrying explosives, officers said in a Facebook statement.
Officers are trying to get in touch with the man. He called the police after taking control of the bus and introduced himself as Maksim Plokhoy, deputy interior minister Anton Gerashchenko said on Facebook.
Mr Gerashchenko said there is a book online, signed by Maksim Plokhoy and titled “Philosophy of a criminal”, describing a man’s experience in prison.
“For 15 years they’ve been correcting me, but I haven’t been corrected, on the contrary — I’ve become even more who I am,” one extract from the book said, according to Mr Gerashchenko.
Interior minister Arsen Avakov is flying to Lutsk.
Ukrainian media reported that gunshots could be heard at the scene. It was not clear whether anyone has been injured.
President Volodymyr Zelenskiy said he was personally monitoring the situation. “Gunshots have been heard, the bus is damaged,” he said in a Facebook statement, adding that measures are being taken to resolve the situation without casualties.