No coalition troops were reported hurt in the explosion on Friday, which was not believed to be an attack on the base.
An AFP correspondent saw five bodies, including those of a woman and a child, and two wounded people carried from the blazing home in the village next to the gate of Bagram Air Base, 50km north of Kabul.
A 14-year-old boy in an alley near the house was killed by shrapnel when a rocket exploded after the main blast.
Villagers said another six to 10 people were injured in the second explosion.
A trader was storing mortars and rockets inside the house which exploded around 08:30 GMT, according to residents.
It was unclear how he was able to keep so many munitions close to the tightly-guarded military base.
Afghanistan is awash with weapons after two decades of war.
Explosives and munitions stores are often set off by power short circuits and other accidents.
“People initially told us that 15 people were living in the house but they now say there were six people living there,” US Major David Long said at the scene.
Afghanistan is awash with arms
Villagers also said six people – the owner, his wife and four children – lived in the house, and that a seventh had been staying there as a guest.
Long said it would take some time to determine the exact toll.
“There are still bodies lying on the ground and people inside but we can’t go to rescue them,” said Abdul Rahman, a villager who lives near the destroyed house.
Five fire trucks were dispatched from Bagram Air Base to extinguish the blaze.
Dozens of US soldiers, several ambulances and two military vehicles were at the scene as troops kept people away from the house.
Villagers said more explosives were stored in the house, which US troops were trying to remove.
“The owner of the house was buying rockets and bombs and then he removed the explosives and sold them to people mining for precious stones in Badakhshan province and the Panjshir valley,” villager Jan Mohammad said.
Mohammad said the owner had lost his left leg and left eye two years ago in an explosion but he had continued his trade.
“It’s a good business – he was making a lot of money.”