I can think of a couple of solutions right away:
1 - triangulate the polygon (not very easy), then look for intersection with each triangle.
2 - find the plane of the polygon (you can use any 3 points of the polygon to do that). find the intersection with that plane (easy enough). now the intersection point and the polygon are all on the same plane. project the intersection point and the polygon onto the 2d plane. find if the intersection point is inside the polygon in 2d space (easy enough).