A ferry carrying 342 passengers sank Monday morning in the southern Philippines, leaving at least eight dead, a local mayor said.