Here's how I would TRY to fix those. Remove the cover completely from the metal bases. CLEAN the inside of the vinyl THOROUGHLY. Same with the metal. I would use a wire brush on a grinder and get ALL that rust off. Then, I would paint the bases with something like a direct to metal paint. Rustoleum industrial oil based paint comes to mind. Finally, I would get 3M Yellow Weatherstrip adhesive and apply it to the insides of the covers. Slip the covers back over the bases and use several long, wide, heavy duty plastic zip ties and tie the cover on tight and let them dry for several days. They likely will never come loose again