NCSC warns organisations to ditch Python 2 before it hits end of life
The National Cyber Security Centre (NCSC) has advised organisations still using Python 2 code to port it to Python 3 as soon as possible before it goes end of life at the turn of the new year.
The cyber security arm of GCHQ said that because Python's core developers will stop working on updates, vulnerabilities in the code will go unpatched and leave organisations vulnerable to cyber attacks.
Moreover, if an organisation is maintaining a library written in Python 2 that other people depend on, then those dependencies are being delayed in their own upgrades which, in turn, adversely affects their cyber security resilience.
"If you continue to use unsupported modules, you are risking the security of your organisation and data, as vulnerabilities will sooner or later appear which nobody is fixing," said the NCSC in a blog post.
Outlining the scale of the problem, the NCSC showed data from June 2019 of the ten most popular Python packages downloaded by millions every month. It showed the majority of the packages were still written predominantly in Python 2 and the ones like Flask which were written mainly in Python 3, still had around a third of their content in the soon-to-be EOL version.
"Even if only a portion of these downloads are being used in live projects, the Python 2 EOL could potentially affect the security of millions of systems," said the security body.
It's important for organisations to fully migrate over to Python 3 as the way to the two languages are structured could create code incompatibilities in their libraries.
For example, text strings are stored differently in the two languages as Python 2 stores in ASCII which uses 8-bit encoding whereas Python 3's Unicode uses variable bit encoding so it will support most written languages while ASCII won't.
"The impending end-of-life of Python 2 illustrates both the importance of managing a complex software supply chain of third-party components and platforms, as well as the critical need for updates," said Jonathan Knudsen, senior security strategist at Synopsys. "Customers will avoid or ignore updates that are not drop-dead simple, or automatic, which can result in stale deployments that are plagued by bugs that have already been fixed."
Python 3 is essentially a more intelligent language that comes bundled with lots of new features that makes coding easier and less convoluted. It irons out some annoying features of Python 2 such as integer division which would previously round down to the nearest whole number.
The NCSC recognises that porting all of an organisation's code to a new language can be a daunting task, but there are tools out there to help make it easier.
'Can I Use Python 3' is a program which will scan projects for dependencies that will prevent porting to Python 3, while '2to3' is a tool which will attempt to port Python 2 source code into 3.
The official Python website will also have documentation that organisations will find helpful and links to free resources to help further with the process.
source itpro
Industry: Cyber Security
Latest Jobs
-
- London Sales Manager, Key Clients. Security. Immediate
- London
- N/A
-
London Sales Manager, Key Clients A senior sales leadership role within the cyber security services and technology market, focused on account development and revenue growth across key clients. You will lead a sales team with responsibility for customer retention, increasing share of wallet and maintaining a strong commercial pipeline. The role works closely with technical, delivery and marketing teams, as well as technology partners. Key focus Lead and coach a field based sales team Own forecasting, pipeline quality and revenue delivery Drive renewals and account development Expand customer investment across services and solutions Build relationships with vendors and partners Background Proven experience managing enterprise sales teams Consistent performance against revenue targets Cyber or IT security sales leadership experience Exposure to Palo Alto, Check Point, Microsoft, etc Commercially focused with a structured sales approach A role for a sales leader focused on long term client value and sustainable growth.
-
- Outside IR35 Functional tester - London - Security Cleared
- London
- Outside IR35
-
Outside IR35 Functional tester - London - Security Cleared Willing to undergo DV Clearance 3 days a week onsite. (London) We are looking for a Functional Test Specialist to support a complex technology programme where accuracy and delivery assurance matter. Key Focus Validate application behaviour and run functional test scenarios Identify risk, defects, and delivery issues early Define practical test approaches and environment needs Produce automated checks where appropriate Work closely with technical teams to agree acceptance criteria Report clearly on outcomes, defects, and risks Experience Needed Strong Microsoft stack exposure Experience supporting server or infrastructure migrations Solid functional testing background Comfortable working remotely onsite (London 3 days a week) Linux or container exposure Jira / Wiki Restricted or isolated environments A hands on role for someone who values clarity, ownership, and quality.
-
- GRC Security Consultant - Energy. Security Clearable. Scotland
- Glasgow
- N/A
-
GRC Security Consultant - Utilities. OT. Security Clearable. Scotland Hybrid (UK | Remote) We need a We need a Senior GRC consultant with experience in the utilities sector. Previous experience working within Critical National Infrastructure (CNI) industries, specifically within Operational Technology is essential. Security clearance / (clearable) required. Current external consultancy experience preferred but not essential. You will be leading lead audits and advisory services (risk assessment / strategic) against CAF, ISO 27001, and IEC 62443 standards to uplift security. This is a permanent position, looking for someone who wants to make a difference away from a firm with progression and no politics. Apply today to find out more.