Yes, the US Congress does have the authority to legislate felon enfranchisement in federal elections, because that could be seen as an issue affected federal matters. Most federal regulation is done under the interstate commerce clause. Loosely, it could be said that felons voting affects commerce between states, so the federal government regulating it is likely constitutional.
According to the U.S constitution, voting in the United States is a right, not a privilege. For this reason anyone that is of age should be able to vote, regardless of their situation. Congress should not be attempting to take away rights from U.S citizens. It may seem morally wrong to let felons vote, but it is a basic right under our democracy.