diff --git a/.gitignore b/.gitignore
index 20f261f..70e2bc6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/lxml-4.6.2.tar.gz
+SOURCES/lxml-4.6.5.tar.gz
diff --git a/.python-lxml.metadata b/.python-lxml.metadata
index 5eb4d34..fcf7f24 100644
--- a/.python-lxml.metadata
+++ b/.python-lxml.metadata
@@ -1 +1 @@
-ab5b8053945d1404b4e54cfd62afc38c8b62aa0c SOURCES/lxml-4.6.2.tar.gz
+04a3ed4d33a511b5796880461b0edb6f3b144547 SOURCES/lxml-4.6.5.tar.gz
diff --git a/SOURCES/CVE-2021-28957.patch b/SOURCES/CVE-2021-28957.patch
deleted file mode 100644
index 0368606..0000000
--- a/SOURCES/CVE-2021-28957.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/src/lxml/html/defs.py b/src/lxml/html/defs.py
-index caf6b21..ea3c016 100644
---- a/src/lxml/html/defs.py
-+++ b/src/lxml/html/defs.py
-@@ -21,6 +21,8 @@ link_attrs = frozenset([
-     'usemap',
-     # Not standard:
-     'dynsrc', 'lowsrc',
-+    # HTML5 formaction
-+    'formaction'
-     ])
- 
- # Not in the HTML 4 spec:
-diff --git a/src/lxml/html/tests/test_clean.py b/src/lxml/html/tests/test_clean.py
-index 451eec2..e40cdad 100644
---- a/src/lxml/html/tests/test_clean.py
-+++ b/src/lxml/html/tests/test_clean.py
-@@ -89,6 +89,21 @@ class CleanerTest(unittest.TestCase):
-             b'<math><style>/* deleted */</style></math>',
-             lxml.html.tostring(clean_html(s)))
- 
-+    def test_formaction_attribute_in_button_input(self):
-+        # The formaction attribute overrides the form's action and should be
-+        # treated as a malicious link attribute
-+        html = ('<form id="test"><input type="submit" formaction="javascript:alert(1)"></form>'
-+        '<button form="test" formaction="javascript:alert(1)">X</button>')
-+        expected = ('<div><form id="test"><input type="submit" formaction=""></form>'
-+        '<button form="test" formaction="">X</button></div>')
-+        cleaner = Cleaner(
-+            forms=False,
-+            safe_attrs_only=False,
-+        )
-+        self.assertEqual(
-+            expected,
-+            cleaner.clean_html(html))
-+
- 
- def test_suite():
-     suite = unittest.TestSuite()
diff --git a/SPECS/python-lxml.spec b/SPECS/python-lxml.spec
index 0111e56..655b928 100644
--- a/SPECS/python-lxml.spec
+++ b/SPECS/python-lxml.spec
@@ -1,19 +1,14 @@
 %global modname lxml
 
 Name:           python-%{modname}
-Version:        4.6.2
-Release:        3%{?dist}
+Version:        4.6.5
+Release:        1%{?dist}
 Summary:        XML processing library combining libxml2/libxslt with the ElementTree API
 
 License:        BSD
 URL:            https://github.com/lxml/lxml
 Source0:        %{pypi_source %{modname}}
 
-# Fix for CVE-2021-28957: missing input sanitization
-# for formaction HTML5 attributes which may lead to XSS
-# Fixed upstream: https://github.com/lxml/lxml/commit/2d01a1ba8984e0483ce6619b972832377f208a0d
-Patch1: CVE-2021-28957.patch
-
 # Exclude i686 arch. Due to a modularity issue it's being added to the
 # x86_64 compose of CRB, but we don't want to ship it at all.
 # See: https://projects.engineering.redhat.com/browse/RCM-72605
@@ -53,25 +48,31 @@ Python 3 version.
 find -type f -name '*.c' -print -delete
 
 %build
-env WITH_CYTHON=true %py3_build
+export WITH_CYTHON=true
+%py3_build
 
 %install
 %py3_install
 
 %check
-# The test invocation below actually runs 0 tests.
-# Fedora BZ for this problem: https://bugzilla.redhat.com/show_bug.cgi?id=1918626
-# We have been unable to make the tests run properly in the spec file, but the
-# test suite is being run as part of the QE tests and gating.
-%{__python3} setup.py test
+# The tests assume inplace build, so we copy the built library to source-dir.
+# If not done that, Python can either import the tests or the extension modules, but not both.
+cp -a build/lib.%{python3_platform}-%{python3_version}/* src/
+# The options are: verbose, unit, functional
+%{python3} test.py -vuf
 
 %files -n python%{python3_pkgversion}-%{modname}
-%license doc/licenses/ZopePublicLicense.txt LICENSES.txt
+%license LICENSES.txt
 %doc README.rst src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt
 %{python3_sitearch}/%{modname}/
 %{python3_sitearch}/%{modname}-*.egg-info/
 
 %changelog
+* Thu Jan 06 2022 Charalampos Stratakis <cstratak@redhat.com> - 4.6.5-1
+- Update to 4.6.5
+- Security fix for CVE-2021-43818
+Resolves: rhbz#2032569
+
 * Wed Mar 24 2021 Charalampos Stratakis <cstratak@redhat.com> - 4.6.2-3
 - Security fix for CVE-2021-28957
 Resolves: rhbz#1941534