Russia, meanwhile, blamed Ukraine for the attack.
CNN could not independently verify the allegations of either side.
“The occupiers’ attack on Olenivka is a deliberate war crime by the Russians, a deliberate mass murder of Ukrainian prisoners of war,” Zelensky said in a statement.
“There should be a clear legal recognition of Russia as a terrorist state. Russia has proven with numerous terrorist attacks that it is the biggest source of terrorism in today’s world,” The Ukrainian president added.
Video aired on Russian networks and shared on social media channels in Donetsk show extensive destruction to a building and several bodies. CNN was able to geolocate footage of the strike to an industrial area about two miles outside the frontline town of Olenivka.
The Ukrainian military said the explosion took place on the territory of the industrial zone, in a newly-constructed building specially equipped to hold prisoners taken out of Azovstal.
The Ukrainian prosecutor’s office has launched an investigation into the Olenivka strike. In a statement, it said pretrial preliminary data shows “the occupying state struck the territory of penal colony No. 120 in the temporarily occupied Olenivka village of Volnovakha district of Donetsk region.”
Ukraine’s General Staff said in a statement “the Armed Forces of Ukraine did not launch missile and artillery strikes in the area of Olenivka settlement” and accused Russian forces of carrying out “a targeted artillery shelling of a correctional institution in the settlement of Olenivka, Donetsk Oblast, where Ukrainian prisoners were also held.”
The General Staff statement said the armed forces “have never conducted and are not conducting shelling of civilian infrastructure, especially places where combat fellows are likely to be kept as POWs.”
“Russian occupiers pursued their criminal goals — to accuse Ukraine of committing ‘war crimes,’ as well as to hide the torture of prisoners and executions,” the General Staff said.
“The alleged shelling of civilian infrastructure and the population by the Armed Forces of Ukraine are outright lies and provocation, the responsibility of which is borne by Russia.”
In a statement, the Russian Ministry of Defense said “the Kyiv regime deliberately carried out a bloody provocation” and claimed “40 Ukrainian prisoners of war were killed and 75 were wounded. In addition, eight employees of the isolation ward received injuries of varying severity.”
“The pre-trial detention center in the area of the settlement of Yelenovka (Olenivka), which contains Ukrainian military prisoners of war, including militants of the Azov formation, was hit by a missile attack from the American HIMARS multiple launch rocket system.”
The Russian Ministry of Defense was reiterating claims made earlier by authorities in the self-declared Donetsk People’s Republic, a separatist-held area of eastern Ukraine. The ministry claimed “this blatant provocation was committed to intimidate Ukrainian servicemen and prevent them from being taken prisoner.”
The senior surgeon on duty at the Central City Clinical Hospital of Donetsk No. 16, Mikhail Yurenko, said the seven survivors of the strike brought to his facility for treatment are in critical condition.
“Seven prisoners of war of the Ukrainian army with lesions of different localization were delivered by ambulance. All patients received combined surgical care,” Yurenko said in a news conference broadcast over social media.
“The patients are currently in the intensive care unit.”
Ukraine blames mercenary group
Ukrainian intelligence said the explosion was carried out by the Russia mercenary group Wagner and was not coordinated with the Russian Ministry of Defense. CNN cannot independently verify the accusations.
“According to available information, (the explosions) were carried out by mercenaries from the Wagner (League) PMC under the personal command of the nominal owner of the specified PMC — Evgeniy Prigozhin,” the Main Directorate of Intelligence of the Ukrainian Ministry of Defense said in a statement on Friday. “The organization and execution of the terrorist attack were not coordinated with the leadership of the Ministry of Defense of the Russian Federation.”
Ukrainian intelligence says the attack was carried out to hide the embezzlement of funds allocated to maintain the POWs and to stir social tension in Ukraine.
“Considering the great public interest in the fate of the Heroes of Azovstal, according to the authors of the scenario of the terrorist attack, the death of the Defenders should lead to increased social tension in Ukraine,” the statement read.
The head of Ukraine’s defense intelligence called on the international community to put pressure on Russia.
“To find out the real circumstances of the terrorist attack and to prevent a repetition of this in the future, I call on all international institutions to express a tough position regarding the events in Olenivka,” said the head of the Main Directorate of Intelligence of the Ministry of Defense of Ukraine, Kyrylo Budano.
A group working on behalf of Ukrainian soldiers held as prisoners of war posted Friday “it is with deep sadness that we are forced to confirm the information about the attack on the penal colony in Olenivka, where the ‘Azov’ regiment soldiers are being held as POW.”
The group, known as the Angels of Azov, said on Telegram: “We are finding out the names of the dead and injured through our own channels. The International Committee of the Red Cross also went to the place.”
The International Committee of the Red Cross, whose representatives had previously visited the prisoners, has not commented.
CNN’s Kara Fox, Kostan Nechyporenko and Mohammed Tawfeeq contributed to this report.