A suicide bomber has killed up to 41 people near a busy market in northwest Pakistan.

The bomb exploded next to a military vehicle in Alpuri town in the Shangla district.

A military official said four members of the security forces were among the dead, but that the majority of the victims were civilian.

The official added: 'It was a suicide blast. The attacker was on foot.'

Elsewhere, the Pakistani Taliban has claimed responsibility for a raid on an army base near Islamabad that left 19 people dead after a day-long siege.