Inspect the fan’s cap on the roof, looking for damage such as cracks or missing pieces of the cap that would allow water to seep into the roof. Lift up the shingles on the roof above the vent cap and look for loose or missing nails.
Remove the nails around the perimeter of the fan’s cap if you do not see any damage to the cap itself. Drive rubber-washered screws through the anchor holes on the perimeter of the cap and into the roof, stopping once the screw heads snug up against the vent cap.
Pop out the nails holding the shingles that sit above the vent cap free using a pry bar, if you find that the vent cap is damaged. Remove the shingles and slide the vent cap off the roof.
Place a new vent cap on the roof and drive rubber-washered screws through the vent cap’s anchor holes and into the roof. Replace the shingles that sit over the vent cap and drive the nails back into the shingles.
Apply an even bead of silicone caulk around the vent cap’s perimeter, as well as under the shingles that sit over the vent cap. This creates a better barrier against future water intrusion.