One of the flat-topped pegs anchoring the fuzzy black upholstery / carpet to the back of the rear seats went walkabout a while ago, but the situation only became critical after I vacuumed the crud out of the car.
Living in the future simplifies things:

Rather than getting all fancy with barbed ends and suchlike, I just slathered the stem with hot-melt glue, jammed it in place, and waited a few breaths:

The vivid yellow stuff is seat cushion foam.
3D printing is wonderful for simple parts like that.
The OpenSCAD source code is simple enough:
// Upholstery pin for Subaru back seat
// Ed Nisley KE4ZNU
// 2024-09-13
HeadThick = 1.5;
HeadOD = 25.0;
PegLength = 10.0;
PegOD = 8.0;
SlotWidth = 1.5;
rotate_extrude(angle=360,$fn=32)
polygon(points=[[0,0],[HeadOD/2 - 1,0],[HeadOD/2,HeadThick],[0,HeadThick]]);
difference() {
rotate(180/8)
cylinder(d=PegOD,h=10.0,$fn=8);
translate([0,0,HeadThick ])
cylinder(d=PegOD/2,h=PegLength,$fn=8);
for (a=[0,90])
rotate(a)
translate([0,0,PegLength/2 + HeadThick + 1.0])
cube([SlotWidth,10.0,PegLength],center=true);
}




























