diff --git a/Lib/inspect.py b/Lib/inspect.py
index 4ac76b1..b9cdcc2 100644
--- a/Lib/inspect.py
+++ b/Lib/inspect.py
@@ -1939,6 +1939,10 @@
         pass
     else:
         if sig is not None:
+            if not isinstance(sig, Signature):
+                raise TypeError(
+                    'unexpected object {!r} in __signature__ '
+                    'attribute'.format(sig))
             return sig
 
     try:
diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py
index 7ad190b..63bdb15 100644
--- a/Lib/test/test_inspect.py
+++ b/Lib/test/test_inspect.py
@@ -3136,6 +3136,13 @@
         self.assertEqual(lines[:-1], inspect.getsource(module).splitlines())
         self.assertEqual(err, b'')
 
+    def test_custom_getattr(self):
+        def foo():
+            pass
+        foo.__signature__ = 42
+        with self.assertRaises(TypeError):
+            inspect.signature(foo)
+
     @unittest.skipIf(ThreadPoolExecutor is None,
             'threads required to test __qualname__ for source files')
     def test_qualname_source(self):
diff --git a/Misc/NEWS b/Misc/NEWS
index b6042b2..428c803 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -498,6 +498,9 @@
 - Issue #11571: Ensure that the turtle window becomes the topmost window
   when launched on OS X.
 
+- Issue #21801: Validate that __signature__ is None or an instance of Signature.
+
+
 Extension Modules
 -----------------
 
