Molten salts have many applications in nuclear engineering, for example, pyroprocessing for used nuclear fuel treatment for which molten chloride salts are used, and molten salt rectors for which both chloride salt and molten fluoride salts are used. Materials corrosion is more challenging in these molten salt systems as the formation of the passivating oxide layer on the corrosion resistant alloys becomes thermodynamically less favorable. Materials corrosion in molten fluorides appears as bare alloy dissolution while the oxide layers formed in molten chlorides are typically porous, leading to the active metal dissolution in both molten fluoride and chloride salts. This restricts the use of many corrosion resistant alloys that rely on the passivating oxide layers. The present study conducted a critical review on materials corrosion in molten chloride and fluoride salts. The key environmental factors that influence corrosion in nuclear molten salt systems are discussed, including typical oxidants in the salt, fission product tellurium embrittlement, interactions with dissimilar materials, and temperature gradient. The historical development of corrosion resistant alloys for molten salt systems and recent attempts are also reviewed, and the effects of alloying elements and grain size were analyzed. One of the corrosion mitigation methods is to control the redox condition of the molten salt. Therefore, the study also analyzes the available redox control methods as well as the advantages and disadvantages of these methods. Finally, the current progress and challenges are summarized with an attempt at identifying the knowledge gaps and future research directions.