The Bible does not specifically say who Cain’s wife was. The only possible answer is that Cain’s wife was his sister or niece or great-niece, etc. The Bible does not say how old Cain was when he killed Abel (Genesis 4:8), but they both were likely full-grown adults. Adam and Eve surely had given birth to more children than just Cain and Abel at the time Abel was killed. They definitely had many more children later (Genesis 5:4). The fact that Cain was scared for his own life after he killed Abel (Genesis 4:14) indicates that there were likely many other children and perhaps even grandchildren of Adam and Eve living at that time. Cain’s wife (Genesis 4:17) was a daughter or granddaughter of Adam and Eve.
Since Adam and Eve were the first (and only) human beings, their children would have no other choice than to intermarry. God did not forbid inter-family marriage until much later when there were enough people to make intermarriage unnecessary (Leviticus 18:6–18). The reason that incest today often results in genetic abnormalities is that, when two people of similar genetics (i.e., a brother and sister) have children together, there is a high risk of their recessive characteristics becoming dominant. When people from different families have children, it is highly unlikely that both parents will carry the same recessive traits. The human genetic code has become increasingly damaged over the centuries as genetic defects are multiplied, amplified, and passed down from generation to generation. Adam and Eve were perfectly designed by God, and their lack of genetic defects enabled them (and the first few generations of their descendants) to have a greater quality of health than we do now. When sin entered the world through Adam and Eve’s disobedience to God, it brought sickness, disease, and a compromised bloodline for all their descendants. Their children had few, if any, genetic mutations; therefore, they could intermarry safely.