Five Iranian boats fired shots across the bow of a Singapore-flagged cargo vessel on Thursday, CNN reported, citing a U.S. official.