The subsurface modifier can be a tricky modifier to learn.
Basically, all it does is apply a "blend" between 3 consecutive edges. Sounds simple but getting a grip on how this works can be challenging at first.
We uses "control" loops to control the blending. Take a basic cube for example. Adding a SubD modifier to it blends the edges from one, across the faces, through the next edge and around to another, and it does this 3 dimensionally, effectively making a sphere.
If we add a "control loop" it gives another set of edges for the algorithm to use which tightens up the smoothing. The closer the control loop gets to other edges, the tighter the blending becomes as the 3 edges it is blending between become closer together. As this control loop moves it gives us control over the blending.
Then a second control loop adds more complexity tightening up the corners.
The more complex the surface the more complex this becomes.
Then there is the "crease edge" part to SubD. Adding a crease to an edge tells Blender to ignore this edge in the SubD modifier.
This is a very simple example, but you need to understand the basics of how it works before you can use it in more complex situations.
Your particular mesh looks like it's lacking controlling edges, it's a mess of edges so as Blender tries to blend between 3 edges there is other edges telling it to try and blend in a different direction creating a mess. Your best bet is to use a remesh modifier on it. As it's fairly simple, try the QuadriFlow remesh tool. This tool is very CPU intensive, so use it with low settings at first, then bump it up until you're happy.