This is indeed a question about something that Spanish speakers take for granted without stopping to think why that is so.
The verb tener comes from Latin tenere. If you search that verb in a Latin dictionary, the meaning is just sostener, mantener, agarrar (to hold). In fact, if you search the verb tener in the DRAE, the first meaning is precisely that:
1. tr. Asir o mantener asido algo.
But the verb has 24 other meanings, and the extra meaning you are seeking is number 12:
12. tr. experimentar. Tener vergüenza, miedo, hambre, calor, nervios.
The definition of experimentar includes the following meaning:
2. tr. Notar, echar de ver en uno mismo una cosa, una impresión, un sentimiento, etc.
So basically, if you say tengo hambre, what you are really saying in Spanish is something like estoy experimentando la sensación de hambre.
Now another question could be when the verb tener got this extra meaning. It seems something relatively recent. Searching the expression in Ngram the matches start in the XVIII or XIX centuries, depending on the search term. Just think that we can also use other expressions such as estoy hambriento or estoy gélido that indeed use the verb estar. But I'm sure there are people here that can answer that part much better than me.
By the way, in English you can also use the verb to have to indicate that you are experiencing a feeling: please, have fun!