This is an image moire pattern. It cannot be eliminated only reduced using mipmaps and filtering.
Yep it's a filtering problem.
You need to understand what you do when you're rendering a 'pixel' with your voxel engine.
In a few words, you need to consider a pixel like a mini frustum from the near plane of your camera and your world (voxel world).
So when you render a pixel, you need to considerer the volumic shape of this pixel, and compute the "average" of the volume intersection (with your voxel grid).
With this kind of consideration, you're transform your current (in your voxel engine, right now) pixel "point-sample" to a "area-sample" (frustum -> quad, (truncated) cone -> elipsoid, ...).
Good luck ^^
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);